Zend Navigation Helper не взаимодействует с ZfcRbac

У меня проблема с реализацией ZfcRbac. На данный момент Rbac работает, и я ввожу страницу по определенному URL-адресу, я получаю 403. Код, который я использовал для этого, следующий:

'zfc_rbac'                   => array(
    'guards'         => array(
        'ZfcRbac\Guard\RouteGuard' => array(
            'relation*' => array('relation'),
        ),
    ),
    'role_provider'  => array(
        'ZfcRbac\Role\InMemoryRoleProvider' => array(
            'relation' => array(
                'permissions' => array('view', 'edit', 'delete'),
            ),
        ),
    ),
),

Проблема возникает, когда я пытаюсь поговорить с помощником Zend Navigation. По какой-то странной причине навигация продолжает говорить мне, что может получить доступ к странице. Когда я нажимаю на нее, кажется, что вы не можете. Вот код для проверки

public function onBootstrap(MvcEvent $e)
{
    $application        = $e->getApplication();
    $serviceManager     = $application->getServiceManager();
    $sharedEvents = $application->getEventManager()->getSharedManager();
    $authorization = $serviceManager->get('ZfcRbac\Service\AuthorizationService');

    $sharedEvents->attach(
            'Zend\View\Helper\Navigation\AbstractHelper', 'isAllowed', function (EventInterface $e) use ($authorization)
    {
        $page = $e->getParam('page');
        $permission = $page->getPermission();
        return $authorization->isGranted($permission);
    }
    );
}

И помощник представления будет вызываться так:

<?=$this->navigation('navigation')->menu()->setPartial(array('sidebar.phtml', 'css'=>'nav navbar-nav'))->render();?>

Надеюсь, кто-то знает ответ на этот вопрос.

Заранее спасибо.


person Dirkos    schedule 03.03.2014    source источник
comment
Возможно, этот пример может помочь: [Zend Navigation и RBAC][1] [1]: stackoverflow.com/a/18942160/1937050   -  person webDEVILopers    schedule 28.05.2014