統合BjyAuthorize
とZendナビゲーションに問題があり、それらを解決する方法がわかりません。私はこのマニュアルを試してみましたが、すべてうまくいきました。しかし、ガードを定義しbjyauthorize.config
た後、ナビゲーションとガード構成の間に反映があると予想しました(拒否されたコントローラーまたはルートはナビゲーションアイテムを表示しません)。私の問題は、ナビゲーションアイテムがまだ表示されているのに、セクションが正しく保護されていることです。警備員をナビゲーションに反映させる方法はありますか?Module.phpのビューヘルパー構成
私のApplication/Module.phpビューヘルパー構成:
'mainMenu' => function($sm){
$nav = $sm->get('navigation')->menu();
$serviceLocator = $sm->getServiceLocator();
$acl = $serviceLocator->get('BjyAuthorize\Service\Authorize')->getAcl();
$role = $serviceLocator->get('BjyAuthorize\Service\Authorize')->getIdentity();
$nav->setAcl($acl);
$nav->setRole($role); // Todo replace
$nav->setUseAcl();
return $nav->setUlClass('nav')->setTranslatorTextDomain(__NAMESPACE__);
}
bjyauthorize.global.phpのガード構成
'guards' => array(
'BjyAuthorize\Guard\Controller' => array(
array('controller' => 'Article\Controller\Article', 'roles' => array('user')),
),
そして私のnavigation.global.php
return array(
'navigation' => array(
'default' => array(
'articles' => array(
'label' => 'Articles',
'route' => 'articles',
),
),
));
ルート構成をモジュール/コントローラー/アクションに変更しようとしましたが、それでも機能しません。