【问题标题】:ACL's Permissions and Business LogicACL 的权限和业务逻辑
【发布时间】:2010-10-11 01:56:05
【问题描述】:

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

例如,如果用户有权访问多辆汽车,您是直接通过用户类分配这些权限,方法是将它们添加到用户的汽车对象集合中,还是在 ACL 中分配它们并使用ACL 检索用户有权访问的汽车列表?

对于何时应将 ACL 用于此类事情以及何时应将其作为业务逻辑的一部分,是否有任何指导方针?

【问题讨论】:

    标签: security permissions business-logic software-design


    【解决方案1】:

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

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

    “销售人员”有权驾驶、加油和停放一组汽车。

    “维修”人员将有权驾驶、维修和修理这组汽车。

    您应该将您的员工分配到一个或其他角色。

    【讨论】:

    • 是的,但您也可以将销售人员和维护作为域模型的一部分作为员工的子类,并通过关联将关系分配给汽车类。这比使用基于角色的安全方法更好还是更差。
    • 通常答案是“是”,因为您可以将登录、网络、文件访问等内容分组到基于操作系统的 ACL 中。这样,当新的销售人员被雇用时,您只需将他们添加到组中即可获得他们需要的所有访问权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 2010-12-24
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    • 2014-09-04
    相关资源
    最近更新 更多