Ищем метод can_access_route - PullRequest
       9

Ищем метод can_access_route

0 голосов
/ 25 мая 2018

Безопасность моего приложения 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 ()?

...