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