2013-07-05 3 views
3

Я использую SonataUserBundle, и я пытаюсь предоставить LIST/EDIT доступ к некоторым пользователям.Sonata User - Role security Доступ запрещен

config.yml

#... 
sonata_admin: 
    security: 
     handler: sonata.admin.security.handler.role 
#... 

Я вижу роли ROLE_SONATA_USER_ADMIN_USER_* перечисленных в админ.

security.yml

security: 
    access_decision_manager: 
     strategy: unanimous 
    #... 
    role_hierarchy: 
     #... 
     ROLE_EDIT_USER: 
      - ROLE_SONATA_USER_ADMIN_USER_LIST 
      - ROLE_SONATA_USER_ADMIN_USER_EDIT 
     #... 

Но ROLE_EDIT_USER не дает доступа к User Admin.

У меня нет правила брандмауэра для сонаты.
Если я использую обработчик sonata.admin.security.handler.noop, я получаю доступ, что доказывает (я думаю), что доступ фактически отрицается сонатой.

Что может лишить меня доступа к ROLE_EDIT_USER?

ответ

2

Хорошо, я не видел, что у меня также был ROLE_SONATA_ADMIN_USER_*, указанный в админке, я не понимаю почему.

Так что я должен был установить

ROLE_EDIT_USER: 
     - ROLE_SONATA_ADMIN_USER_LIST 
     - ROLE_SONATA_ADMIN_USER_EDIT 

вместо

Иногда Symfony мне кажется настолько сложным для простых вещей ...

Я провожу 10x меньше времени настройки те же вещи с Django, например ,
Даже если это больше связано с Сонатой, чем с Symfony

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