2016-02-10 2 views
0

Я установил bjyauthorize, я установил провайдера из базы данных, для роли, правила и т. Д., Все загружено отлично, за исключением того, что даже если я вошел в систему, bjyauthorize возвращает только bjyauthorize-identity при вызове $serviceManager->get('BjyAuthorize\Service\Authorize')->getIdentity();zf2 bjyauthorize не загружать регистрационную роль

Я должен упомянуть, если я вызываю загрузку данных службы идентификации zf2.

скажите, пожалуйста, какой фрагмент кода написать здесь, чтобы помочь вам получить ответ.

<?php 

return array(
    'bjyauthorize' => array(
     // default role for unauthenticated users 
     'default_role' => 'guest', 
     // default role for authenticated users (if using the 
     // 'BjyAuthorize\Provider\Identity\AuthenticationIdentityProvider' identity provider) 
     'authenticated_role' => 'user', 
     // identity provider service name 
     'identity_provider' => 'BjyAuthorize\Provider\Identity\AuthenticationIdentityProvider', 
     // Role providers to be used to load all available roles into Zend\Permissions\Acl\Acl 
     // Keys are the provider service names, values are the options to be passed to the provider 
     'role_providers' => array(
      'Users\Authorize\Provider\Role\ObjectRepositoryProvider' => [ 
        'object_manager' => 'doctrine.entitymanager.orm_default', 
        'role_entity_class' => 'Users\Entity\Role', 
      ] 
     ), 
     // Resource providers to be used to load all available resources into Zend\Permissions\Acl\Acl 
     // Keys are the provider service names, values are the options to be passed to the provider 
     'resource_providers' => array(
      'Users\Authorize\Provider\Resource\ObjectRepositoryProvider' => [ 
       'object_manager' => 'doctrine.entitymanager.orm_default', 
       'resource_entity_class' => 'Users\Entity\Resource', 
      ], 
     ), 
     // Rule providers to be used to load all available rules into Zend\Permissions\Acl\Acl 
     // Keys are the provider service names, values are the options to be passed to the provider 
     'rule_providers' => array(
      'Users\Authorize\Provider\Rule\ObjectRepositoryProvider' => array(
       'object_manager' => 'doctrine.entitymanager.orm_default', 
       'rule_entity_class' => 'Users\Entity\Rule', 
      ), 
     ), 
     // Guard listeners to be attached to the application event manager 
     'guards' => array(), 
     // strategy service name for the strategy listener to be used when permission-related errors are detected 
     'unauthorized_strategy' => 'Users\View\RedirectionStrategy', 
     // Template name for the unauthorized strategy 
     'template' => 'error/403', 
     // cache options have to be compatible with Zend\Cache\StorageFactory::factory 
     'cache_options' => array(
      'adapter' => array(
       'name' => 'memory', 
      ), 
      'plugins' => array(
       'serializer', 
      ) 
     ), 
     // Key used by the cache for caching the acl 
     'cache_key' => 'bjyauthorize_acl' 
    ), 
); 
?> 

ответ

0

Я нашел ответ, я попросил неверного службы:

$authorize_ = $serviceManager->get('BjyAuthorize\Service\Authorize'); 

Хороший один был:

$authorize = $serviceManager->get('BjyAuthorize\Provider\Identity\ProviderInterface'); 

второго один нормально для запроса вошедшего в роли пользователя

Смежные вопросы