我正在使用DevEx eXpressApp框架开发一个项目管理类型的应用程序。我已经使用它将近一年了,但我只是现在才开始使用它的安全模型,并希望在定义一种实现需求的方法方面提供一些帮助。
我有两门课:项目和任务。项目包含任务(命名任务)的子XPCollection (属性),因此我可以键入Project.Tasks.Add( Tasks);我所需要做的就是想出一种方法,为用户提供在任务集合中查看和编辑特定任务的能力。作为管理员用户,我需要一种将用户1“分配”到项目P1的任务1和3以及项目P2的任务4的方法。然后,例如,我会将用户2分配给项目P1的任务2,任务1-3将始终有新的项目,所以我需要一种灵活的方式在应用程序中分配/不分配用户。
- Task 1 - User 1
- Task 2 - User 2
- Task 3 - User 1
- Task 1 - User 2
- Task 2 - User 2
- Task 3 - User 2
- Task 4 - User 1
当用户1登录并单击项目1(在ListandDetailView中)时,他们只会看到分配给他们的任务。用户2也是如此,两个用户都不会看到任何一个项目的全部任务集。
我已经创建了一个虚拟项目,并且只能达到每个用户都看不到所有任务或根本看不到任务的程度。我认为对象权限(使用条件)方法是可行的,但无法考虑使用什么标准。
我对设计建议持开放态度,因为它们与安全模型有关。角色/组/新类等。
但是,请忽略这里没有提到的任何可能的应用程序设计问题,比如“任务之间的依赖,等等……”我有一个非常具体的要求。
请帮帮我!
额外的随机信息,以防有帮助。
发布于 2012-08-07 09:04:14
你有两个选择
Task.User = CurrentUserId()的条件第一种方法更可取,但第二种方法给了您更多的控制,如果您确定任务的“所有权”的规则太复杂,无法通过简单的标准来描述,则可能会更好。
https://stackoverflow.com/questions/11701687
复制相似问题