2010-06-03 59 views
2

我已将ACL权限系统放到我的应用程序中,我现在想知道如何最好地使用它,特别是关于用户组。最简单的形式是,会有几个“角色”组(“管理员”,“编辑者”,“用户”等),并且所有用户都属于这些组中的一个。ACL组结构:自上而下还是自下而上?

我的问题是:根据您的经验,将ARO树构建为在顶部具有最多权限并在您下移(1)时删除它们或在顶部添加最少权限并添加他们当你下去(2)。

(1): 
- Admins   allow all 
    - Editors  deny create, delete 
    - Users  deny update 

(2): 
- Users   allow read 
    - Editors  allow update 
    - Admins  allow create, delete 

每个的优缺点是什么?

回答

1

我想你所问的是“应该是一个用户和没有各种能力的管理员,或者应该是一个具有额外能力的用户。”我认为,从建模的角度来看,让管理员成为用户更好。

此外,重要的是要考虑可能出现什么问题。如果在系统实施中存在一些配置错误,那么拒绝有人进行他们应该能够做的事情的风险会更好的安全性,而不是冒着让他人访问他们不应该访问的东西的风险。

因此,我认为你的第二个例子更好。在授予权限方面,它更安全地构建系统,而不是拒绝它们。