【问题标题】:Access control lists访问控制列表
【发布时间】:2010-12-08 04:26:54
【问题描述】:

我一直在 reading 为即将到来的项目使用(基于角色的)访问控制列表,但在弄清楚它如何为我工作时遇到了一些麻烦。

在我看到的示例中,他们总是谈论允许和拒绝对控制器/模型的特定操作的访问。例如:“访客”组可以read发帖,“会员”组可以readedit,“管理员”组可以create, read, update, delete

这些东西对我来说似乎有点太全球化了。在我自己的情况(为这个例子调整它),会有大量的组,每个组只能edit属于某个类别(或某些其他条件)的帖子。

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

posts_cat:1
posts_cat:2
posts_cat:3

然后分别授予每个人的访问权限(对于需要访问所有权限的管理员来说,这可能是一个皇家 PITA)

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

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

【问题讨论】:

    标签: language-agnostic acl rbac


    【解决方案1】:

    一个选项是这样的规则:

    allow('your_role', 'edit_post', 'draft'); 允许('你的角色', 'edit_post', 'category1');

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多