Php 如何在Zend Framework 2中设置BjyAuthorize?

Php 如何在Zend Framework 2中设置BjyAuthorize?,php,acl,zend-framework2,Php,Acl,Zend Framework2,我试图在ZF2中的一个示例应用程序中使用它,但在设置它时遇到了一些问题 我有一个Admin模块,我想授予用户访问该模块的权限。 我还有ZfcUser模块,该模块似乎与此acl配合得很好 我设置db的方式与他的类似: user_role role_id default parent ------------------------------ user 1 admin admin 2 NULL user_role

我试图在ZF2中的一个示例应用程序中使用它,但在设置它时遇到了一些问题

我有一个
Admin
模块,我想授予用户访问该模块的权限。 我还有
ZfcUser
模块,该模块似乎与此acl配合得很好

我设置db的方式与他的类似:

user_role
role_id     default     parent
------------------------------
user        1           admin
admin       2           NULL


user_role_linker
user_id     role_id
-------------------
1           user
我不确定这是否正确设置,也不确定为什么
role\u id
是varchar

在任何情况下,使用此设置,ZfcUser都可以正常工作

问题是当我尝试使用不同的模块时,我添加了:

array('controller' => 'Admin\Controller\Index', 'roles' => array('guest','user'))
我明白了

403禁止 您无权访问Admin\Controller\Admin::indexAction()

在自述文件中提到,我可以在控制器或视图中使用
$this->isAllowed($resource[,$privilege])
,但该代码是错误的,我不确定
$resource
$privilege


所以我想我的问题是如何使用这个模块?有人让它工作了吗?

我找到了一个解决方案,可以让我与ZfcUser和BjyAuthorize一起工作

还通过一次又一次地搁置BJYAuthoritation文档,使模块与角色一起工作

我在github上设置了一个测试环境,它可以作为所有这些模块的起点


注意:此模块将更改,因为它更像是我的游乐场

根据403错误文本,您的规则很可能应更改为

array('controller' => 'Admin\Controller\Admin', 'action' => 'index', 'roles' => array('guest', 'user'))