В моем проекте Symfony2 мне удалось настроить FOSUserBundle + SonataUserBundle + SonataAdminBundle после официальных документов. Настало время настроить ACL (список управления доступом).ACL + SonataAdminBundle + SonataUserBundle
Что я сделал:
Создал AdminClass под названием AdminReport
приложение/консоль соната: админ: установка-ACL
install ACL for sonata.admin.report update role: ROLE_SONATA_ADMIN_REPORT_GUEST, permissions: ["LIST"] update role: ROLE_SONATA_ADMIN_REPORT_STAFF, permissions: ["LIST","CREATE"] update role: ROLE_SONATA_ADMIN_REPORT_EDITOR, permissions: ["OPERATOR","EXPORT"]
- создал новый пользователь, предоставивший его с ROLE_SONATA_ADMIN_REPORT_STAFF
- ap р/консоли соната: админ: генерировать-объект-Acl
- Помнить с этим пользователем, и доступ к ним по умолчанию/администратор/панель
блок, содержащий AdminReport должен появиться, но это не ... я пропускаю что нибудь ?
Вот мой config.yml
sonata_admin: security: handler: sonata.admin.security.handler.acl information: GUEST: [VIEW, LIST] STAFF: [EDIT, LIST, CREATE] EDITOR: [OPERATOR, EXPORT] ADMIN: [MASTER] admin_permissions: [CREATE, LIST, DELETE, UNDELETE, EXPORT, OPERATOR, MASTER] object_permissions: [VIEW, EDIT, DELETE, UNDELETE, OPERATOR, MASTER, OWNER]
EDIT я попытался получить доступ непосредственно app_dev.php/администратора/приложение/отчет/список с этим пользователем, и Symfony выдает ошибку Access Denied , Журнал говорит
DEBUG - Доступ запрещен, пользователь не является ни анонимным, ни запоминающимся. И если я получаю доступ к app_dev.php/admin/app/report/list, он работает!
Так что я попытался изменить обработчик из
sonata.admin.security.handler.aclв
sonata.admin.security.handler.roles
Это работает, потому что я могу видеть блок в админ панели. Я также попытался изменить
access_decision_manager: strategy: unanimousна
affirmative, но это не сработало ...
Я определенно отсутствует что-то, но где?
Да та же проблема здесь, я работаю над ним на самом деле. Когда я его решила, я дам вам решение :) –
Получили ли вы информацию из своего исследования? Я полностью застрял в этом ... –
Я немного поработал над этим и получил что-то функциональное, я напишу ответ, когда у меня осталось несколько минут :) –