我正在使用DevEx eXpressApp Framework开发Project Management类型的应用程序。 我已经使用它近一年了,但我现在才开始使用它的安全模型,并希望在定义实现需求的方法方面有所帮助。
我有两个类:Project和Tasks。 Project包含一个子XPCollection(Property)的Tasks(名为Tasks),这样我就可以输入Project.Tasks.Add(Task t); 我需要做的就是提供一种方法,使用户能够在任务集合中查看和编辑特定任务。作为Admin用户,我需要一种方法将用户1“分配”到项目P1的任务1和3以及项目P2的任务4。 然后我会 - 例如 - 将用户2分配给项目P1的任务2和P2的任务1-3 将始终有新项目,因此我需要一种灵活的方式在应用程序内临时分配/取消分配用户。
项目1
项目2
当用户1登录并单击项目1(在ListandDetailView中)时,他们只会看到已分配给他们的任务。 用户2也是如此。 用户都不会看到任何项目的整个任务集。
我创建了一个虚拟项目,并且只能达到每个用户看到所有任务或没有任何任务的程度。我认为对象权限(使用标准)方法是可行的方法,但无法考虑使用什么标准。
我很乐意设计与安全模型相关的建议。角色/小组/新班等。
但请忽略此处未提及的任何可能的应用程序设计问题,如“任务之间的依赖关系......等等”。我有一个非常具体的要求。
请帮忙!
附加随机信息以防万一。
答案 0 :(得分:1)
您有两个选择
Task.User = CurrentUserId()
第一种方法更可取,但第二种方法可以让您获得更多控制权,如果您确定任务的“所有权”的规则过于复杂而无法通过简单的标准来描述,则可能会更好。