访问控制列表

时间:2009-10-19 23:52:44

标签: language-agnostic acl rbac

对于即将开展的项目,我已经reading(基于角色)访问控制列表,并且遇到了一些麻烦,想知道它对我有用。

在我看过的例子中,他们总是讨论允许和拒绝访问控制器/模型的特定操作。例如:“访问者”群组可以read个帖子,“成员”可以readedit,“管理员”可以create, read, update, delete

对我来说,这些事情似乎有些过于全球化。在我自己的情况下(为此例子进行调整),会有大量的群组,每个群组只能edit个属于特定类别的帖子(或其他一些标准) )。

我认为让它适用于我的唯一方法是为每个类别的帖子创建一个新的ACO:

posts_cat:1
posts_cat:2
posts_cat:3

然后单独访问每个人(对于需要访问所有人的管理员来说,这可能是皇家PITA)

ACL模式如何涵盖这样的情况?有更好的方法吗?

我最终将使用Cake在PHP中实现它,所以欢迎使用PHP的示例,但不是必需的!

1 个答案:

答案 0 :(得分:0)

一个选项是这样的规则:

允许('your_role','edit_post','草稿'); 允许('your_role','edit_post','category1');

或者您可以构建基于属性的访问控制(可以基于角色)。这允许角色根据属性对对象(广义上)进行操作。