На самом деле у меня есть такой код
В контроллере Symfony
/**
* @Route("/form/partners/{id}/{formState}", name = "bodyshopPartnerEdit")
* @Security("has_role('ROLE_ADMIN') || has_role('ROLE_BODYSHOP_HANDLER_PARTNER_EDIT')")
*/
public function editPartner(Request $request, EntityManagerInterface $em)
В шаблоне Twig
{% if is_granted('ROLE_ADMIN') or is_granted('ROLE_BODYSHOP_HANDLER_PARTNER_EDIT') %}
Я хотел бы знать, могу ли я изменить методы has_role () и is_granted (), чтобы автоматически принимать ROLE_ADMIN вместо того, чтобы каждый раз проверять две роли
Спасибо !
Только для Twig вы определяете свою собственную функцию, которая делает то же самое, но поскольку вам нужно, чтобы это было сделано и в @Security, я бы выбрал решение @ Themer




вы можете использовать иерархические роли и протестировать роль "ROLE_BODYSHOP_HANDLER_PARTNER_EDIT"
security:
# ...
role_hierarchy:
ROLE_ADMIN: [ROLE_BODYSHOP_HANDLER_PARTNER_EDI]
В вашем контроллере:
/**
* @Route("/form/partners/{id}/{formState}",name = "bodyshopPartnerEdit")
* @Security("has_role('ROLE_BODYSHOP_HANDLER_PARTNER_EDIT')")
*/
public function editPartner(Request $request, EntityManagerInterface $em){
...........
}
проверьте это: symfony.com/doc/current/best_practices/security.htmlsymfony.com/doc/master/bundles/SensioFrameworkExtraBundle/… ищите наследование или избиратели нестандартной безопасности