我正在尝试使用Zend Acl来查看一个角色是否具有对资源的显式访问权限,但是Zend Acl的isAllowed方法不仅检查该角色,还检查指定角色继承的任何角色,我并不关心这些,我只想知道该角色本身是否被允许。
在某些情况下,我正在为管理员构建一个界面,用于在每个用户的基础上更改acl规则,因此我希望他们能够查看某个角色是否被显式允许、是否具有继承访问权限,或者是否被显式拒绝访问资源。
发布于 2011-05-25 04:45:32
通常,您可以从某个地方读取ACL的设置,比方说数据库。这就是你应该看看的地方。不管怎样,你都需要把它写在那里。
发布于 2011-05-26 07:13:58
我认为你对Zend_Acl的看法是错误的。整个系统都是基于父/子的
如果您不需要父/子关系,则必须为每个角色定义每个规则:
来宾可以登录来宾无法注销
用户可以登录用户可以注销
或者,您可以扩展Zend_Acl并创建自己的isExplicitAllowed()方法。
https://stackoverflow.com/questions/6116591
复制相似问题