프로젝트에서 여러 가지 역할에 대해 ACL 메뉴를 사용하지만 여러 역할에 대해 동일한 메뉴를 만들려고 할 때 문제가 발생하지만 일부 역할에 대해 어떤 점을 숨기십시오. 문서는 그것을 할 배열에 '자원'매개 변수를 사용하여 말한다 그러나 그것은 단지 전체 상위 메뉴에 대한 나를 위해 작동 :ZF2 탐색 (Zend Navigation)에서 다른 사용자 역할에 대한 다른 하위 메뉴
array(
'label' => 'Community',
'module' => 'community',
'controller' => 'index',
'action' => 'index',
'resource' => 'mvc:community'
'pages' => array(
array(
'label' => 'My Account',
'module' => 'community',
'controller' => 'account',
'action' => 'index',
),
array(
'label' => 'Forums',
'uri' => 'http://forums.example.com/',
'class' => 'external' // class
)
)
)
하지만 나는 현재 메뉴에서 일부 요소를 숨기려면 :
array(
'label' => 'Community',
'module' => 'community',
'controller' => 'index',
'action' => 'index',
'pages' => array(
array(
'label' => 'My Account',
'module' => 'community',
'controller' => 'account',
'action' => 'index',
'resource' => 'mvc:community.account'
),
array(
'label' => 'Forums',
'uri' => 'http://forums.example.com/',
'class' => 'external'
)
)
)
을
메뉴 ACL 빌드 코드 : 나는 전체 메뉴 '자원'키를 사용하면 아이에서 사용할 때
$acl = new \Zend\Permissions\Acl\Acl();
$acl->addRole(new \Zend\Permissions\Acl\Role\GenericRole('root'));
$acl->addRole(new \Zend\Permissions\Acl\Role\GenericRole('guest'));
$acl->addResource(new \Zend\Permissions\Acl\Resource\GenericResource('mvc:community.account'));
$acl->allow('root', null);
$acl->allow('guest', null);
$acl->deny('guest', 'mvc:community.account');
그래서 작동이 -하지 않습니다. 현재 각 역할에 대해 거의 비슷한 여러 배열을 만들었고 하나의 역할에 대해 액세스를 허용/거부했지만 올바른 방법을 찾고 싶습니다.