isAllowed为单个角色(不是角色继承的角色)

时间:2011-05-24 20:40:37

标签: php zend-framework acl

我试图找出角色是否使用Zend Acl显式访问资源,但是Zend Acl的isAllowed方法不仅检查角色,还检查指定角色继承的任何角色,我不关心,我只想知道是否允许自己的角色。

对于某些上下文,我正在为管理员构建一个界面,以便在每个用户的基础上更改acl规则,因此我希望他们能够查看是否明确允许角色,是继承访问还是明确拒绝访问到资源。

2 个答案:

答案 0 :(得分:0)

通常你从某个地方读取ACL的设置,比如说一个DB。这是你应该看的地方。无论如何你需要在那里写它。

答案 1 :(得分:0)

我认为你正在以错误的方式看待Zend_Acl。 整个系统基于父母/子女

如果您不需要父/子关系,则必须为每个角色定义每个规则:

访客可以登录 访客无法退出

用户可以登录 用户可以注销

或者你可以扩展Zend_Acl并创建你自己的isExplicitAllowed()方法。