Easy admin. Как проверить путь?

Добрый день.

Осваиваю Symfony 5. Делаю админку на базе Easy admin. При переходе на просмотр сущности адресная строка в браузере выгляди так:
sf/admin/?entity=Product&action=list&menuIndex=2&s...
Т.е. если Product заменить на User, произойдет переход на сущность User. Более того, можно даже ввести:
sf/admin/?entity=Product&action=show&menuIndex=2&s...
B поменяв show на edit, спокойно себе отредактировать данные. В системе имеется система ролей, поэтому такие действия недопустимы. Вопрос: где и как лучше всего проверить параметры адресной строки, проанализировать их и если необходимо, сделать редирект. Или Easy admin не очень для таких условий подходит и есть смысл перейти на Sonata? Заранее благодарен.
  • Вопрос задан
  • 358 просмотров
Пригласить эксперта
Ответы на вопрос 1
Maksclub
@Maksclub
maksfedorov.ru
EasyAdmin контроллеры довольно простые, вы просто наследуете EasyAdminController и называете свой контроллер так: EntityName + Controller, то есть для User это будет UserController.

И для ваших контроллеров как и везде в Symfony вы можете использовать свои роли, например так:
/**
 * @Security("is_granted('ROLE_CAN_EDIT_USER')")
 */
class UserController extends EasyAdminController
Подробнее:
Аннотация Security
Symfony Uses Voters

Также ознакомьтесь с главой EasyAdmin: Security and Permissions¶, особенно про item_permission
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы