我正在使用zend_acl来管理我的Web应用程序中的ACL列表。
为了能够显示“管理权限”对话,我需要有可能获得以下组合的定义规则:
- 为特定资源上的特定角色设置的规则
- 为特定资源上的角色设置的所有规则(谁拥有此权利)
- 为任何资源上的特定角色设置的所有规则(角色具有哪些权利)
为了能够显示完整列表,必须始终有一个附加列表,其中包含从父角色/资源继承的规则。
你知道如何解决这个问题吗?
答案 0 :(得分:2)
您可以通过这种方式检索所有角色和资源
$acl = new Application_Model_Acl();
$acl->getRegisteredRoles(); // roles instances
$acl->getRoles(); //array
$acl->getResources(); //array
我认为您必须扩展Zend_Acl以检索“每个角色的注册资源”。
如果项目是如此“扩展”,通常,我会从数据库中生成Acl,但我在我身边创建了一个Zend_Acl扩展
答案 1 :(得分:0)
为了概述,我们创建了一个表,其中水平是资源,垂直角色(以MiPnamic建议的方式接收)。在表的正文中有一个零(允许,拒绝)。它工作正常。