如果不允许登录用户使用路由或路径,我需要在模板中隐藏一些链接。像这样:
{% if allowedroute 'fos_user_security_logout' %}
<a href="{{ path('fos_user_security_logout') }}" class="action-logout">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
</a>
{% endif %}
如何确定已登录用户的安全性access_control中是否允许该操作?
可能有一些这样的功能:
$securityContext->isRouteGranted('routeName');
or
$securityContext->isUriGranted('uri/path');
最佳答案
据我所知,没有办法检查从树枝到某条路线的访问。但是,由于必须使用用户角色来设置security.yml access_control路由,因此可以在模板中检查基于角色的身份验证:
{% if is_granted('IS_AUTHENTICATED_REMEMBERED') %}
// logout link here
{% endif %}
它不是动态的,但是除非您的路线发生很大变化,否则应该不会有问题。
关于symfony - 如何集成路由和安全访问控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6918686/