寻找一个can_access_route方法

时间:2018-05-25 14:00:04

标签: php symfony symfony-security

我的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()?

0 个答案:

没有答案