Безопасность моего приложения Symfony 4 использует аннотации @security в контроллерах:
/**
* @Route("/cat/list", name="cat_list")
*
* @Security("is_granted('ROLE_XYZ'")
*/
public function listAction()
{
// [...]
}
Я строю меню с веткой из списка названий маршрутов:
{% for route_name in ["cat_list","cat_map", ,"cat_trips"] %}
<a href="{{ path(route_name) }}"/> {{ route_name|trans }} </a>
{% endfor %}
Я хотел бы добавить проверку безопасности, чтобы отображать только маршруты, к которым у моего пользователя есть доступ, что-то вроде этого:
{% for route_name in ["cat_list","cat_map", ,"cat_trips"] %}
{% if can_access_route(route_name) %}
<a href="{{ path(route_name) }}"/> {{ route_name|trans }} </a>
{% endif %}
{% endfor %}
Есть ли для этого что-то встроенное в Symfony?Или как бы построить is_route_granted ()?