2

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

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

4

2 回答 2

2

您可以通过这种方式检索所有角色和资源

$acl = new Application_Model_Acl();
$acl->getRegisteredRoles(); // roles instances
$acl->getRoles(); //array
$acl->getResources(); //array

我认为您必须扩展 Zend_Acl 以检索“每个角色的注册资源”。

如果项目如此“扩展”,通常我会从数据库动态生成 Acl,但我在我身边创建了 Zend_Acl 扩展

于 2011-03-31T07:21:50.203 回答
0

作为概览,我们创建了一个表格,其中横向是资源,纵向是角色(按照 MiPnamic 的建议接收)。在表格的主体中,有一个 0 和 1(允许,拒绝)。它工作正常。

于 2011-04-01T13:30:38.233 回答