2011-05-24 92 views
0

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

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

回答

0

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

0

我认为你正在看错Zend_Acl。 整个系统是基于父/子

如果您不需要父/子关系,你将不得不定义每个角色每个规则:

客人可洛 游客不能注销

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

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