2010-10-11 133 views
1

我想知道人们在多用户应用中为用户分配权限和业务逻辑之间的界限。ACL的权限和业务逻辑

例如,如果用户可以有权访问多辆汽车,您是否可以直接通过用户类将这些权限分配给用户的汽车对象集合,或者将它们分配给ACL并使用ACL检索用户有权访问的汽车列表?

对于何时应该将ACL用于这类事情以及何时应该成为业务逻辑的一部分,是否有任何指导原则?

回答

0

正常做法是“基于角色的安全性”。

例如,您可能会设置两个角色“销售人员”和“维护”。 “

”销售人员“可以开车,加油并停放一组汽车。

“维修”人员将有权开车,维修和修理整套汽车。

您不会将您的员工分配给其中一个或另一个角色。

+0

是的,但您也可以将销售人员和维护作为您的领域模型的一部分作为员工的子类,并通过与汽车类的关联分配关系。这比使用基于角色的安全方法好还是差? – eaglestorm 2010-10-11 02:57:00

+0

通常情况下,答案是“是”,因为您可以将诸如登录,网络,文件访问等等组合到基于操作系统的ACL中。通过这种方式,当新的销售人员被聘用时,您只需将他们添加到组中,并获得他们所需的所有访问权限。 – 2010-10-11 04:31:04