Добрый день. Спасибо за сжатую статью, которая спасает от выпадения глаз при вычитывании тонн документации. Спасает при знакомстве с Симфони. К сожалению, возникли некоторые проблемы, так как сжатый характер статьи имеет и обратную сторону. Банально не хватает комментариев, «что, зачем, какие варианты».
Во-первых, можете уточнить по тексту:
1) у вас тут идёт:
Устанавливаем Sonata Admin
$ composer require sonata-project/admin-bundle
Для того, чтобы взаимодействовать с базой данных...
такое ощущение, что данную команду требуется применять, только если хочешь установить все три последующие библиотеки. Так ли, или обязательно?
2) У вас создаются сущности City и Address. Правильно ли я понимаю, что они введены только для примера применения на них ролей. А то по ходу текста вначале складывается впечатление, что они часть механизма админки или авторизации. К сожалению, «само собой разумеещеся» у всех разное.
Во-вторых, собственно проблемы.
3) При настройке Doctrine появилась ошибка:
Unrecognized options «SonataUserBundle, FOSUserBundle» under «doctrine.orm.entity_managers.default.mappings.App»
При перестройке конфига Симфони благополучно вырезал кусок, который требовался далее. загуглив, получил следующее решение:
что-то связанное с использованием обрезанных и полных конфигов.
4) При задании config/packages/security.yaml
security:
...
acl:
connection: default
вылетала следующая ошибка: «Unrecognized option „acl“ under „security“». Что решается перемещением параметра acl вне блока security:
security:
...
acl:
connection: default
5) Последняя проблема, через которую мне никак не удаётся пробиться.
При выполнении завершающей части статьи получаю в итоге: Access Denied. AccessDeniedException in \vendor/symfony/security-http/Firewall/AccessListener.php (line 76).
Что связано с тем, что доступ на страницу /admin требует наличия ролей ROLE_, ROLE_ADMIN, ROLE_SONATA_ADMIN (не знаю И или ИЛИ), а у созданного пользователя --super-admin есть только ROLE_SUPER_ADMIN и ROLE_USER.
Если прямо в коде, где создаётся карта адресов добавить роль D:/OSPanel/domains/sym2/vendor/symfony/security-http/Firewall/AccessListener.php::__invoke()
, то удаётся прошибиться в саму админку (то есть получил доступ). Однако, какие роли/метки там надо дальше добавить пользователю, чтобы можно было убрать эту инъекцию? Взгляд в БД тоже не спасает.
Можете разъяснить, как побороть данную проблему?
Во-первых, можете уточнить по тексту:
1) у вас тут идёт:
такое ощущение, что данную команду требуется применять, только если хочешь установить все три последующие библиотеки. Так ли, или обязательно?
2) У вас создаются сущности City и Address. Правильно ли я понимаю, что они введены только для примера применения на них ролей. А то по ходу текста вначале складывается впечатление, что они часть механизма админки или авторизации. К сожалению, «само собой разумеещеся» у всех разное.
Во-вторых, собственно проблемы.
3) При настройке Doctrine появилась ошибка:
При перестройке конфига Симфони благополучно вырезал кусок, который требовался далее. загуглив, получил следующее решение:
что-то связанное с использованием обрезанных и полных конфигов.
4) При задании config/packages/security.yaml
вылетала следующая ошибка: «Unrecognized option „acl“ under „security“». Что решается перемещением параметра acl вне блока security:
5) Последняя проблема, через которую мне никак не удаётся пробиться.
При выполнении завершающей части статьи получаю в итоге: Access Denied. AccessDeniedException in \vendor/symfony/security-http/Firewall/AccessListener.php (line 76).
Что связано с тем, что доступ на страницу /admin требует наличия ролей ROLE_, ROLE_ADMIN, ROLE_SONATA_ADMIN (не знаю И или ИЛИ), а у созданного пользователя --super-admin есть только ROLE_SUPER_ADMIN и ROLE_USER.
Если прямо в коде, где создаётся карта адресов добавить роль D:/OSPanel/domains/sym2/vendor/symfony/security-http/Firewall/AccessListener.php::__invoke()
, то удаётся прошибиться в саму админку (то есть получил доступ). Однако, какие роли/метки там надо дальше добавить пользователю, чтобы можно было убрать эту инъекцию? Взгляд в БД тоже не спасает.
Можете разъяснить, как побороть данную проблему?
Спасибо