【发布时间】:2012-01-20 15:42:55
【问题描述】:
我正在构建一个新应用程序,我需要一个权限框架来配合它。 以下是我们需要它支持的一项内容的简单示例:
使用数据模型:
user
----
id
role
type
resource
----
id
name
type
我们希望能够设置一个访问规则,规定用户只能知道与他们具有相同类型的所有资源,除非他们具有管理员角色(在这种情况下,他们可以看到所有内容)。然后我们希望能够提取“该用户知道的所有资源”的可搜索/可分页列表。 (假设有 500,000 个资源。)
我试图将它硬塞到 Zend_acl 中,但是虽然我认为我可以在 zend_acl 中定义所有规则,但它是在逐个资源的基础上进行的,并且没有适当的支持来获取 列表 em> 的资源,当然不是以内存友好的方式(例如一次显示 10 个资源并分页)。
那么,什么是支持诸如此类的基于关系的规则(而不是列表)的良好 PHP 权限框架?
【问题讨论】:
-
我反对,因为我认为 ACL 不能满足我的需求。除非我错过了将其固定在其中的方法,否则我需要一个基于规则的系统而不是基于离散列表的系统。我愿意接受有关如何在诸如 zend_acl 之类的 ACL 中实现目标的建议。 :)
标签: php frameworks roles acl