列出Zend_ACL中的规则

时间:2011-03-30 10:51:49

标签: php zend-framework zend-acl

我正在使用zend_acl来管理我的Web应用程序中的ACL列表。 为了能够显示“管理权限”对话,我需要有可能获得以下组合的定义规则:
- 为特定资源上的特定角色设置的规则
- 为特定资源上的角色设置的所有规则(谁拥有此权利)
- 为任何资源上的特定角色设置的所有规则(角色具有哪些权利)
为了能够显示完整列表,必须始终有一个附加列表,其中包含从父角色/资源继承的规则。

你知道如何解决这个问题吗?

2 个答案:

答案 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建议的方式接收)。在表的正文中有一个零(允许,拒绝)。它工作正常。