如果不允许登录用户使用路由或路径,我需要在模板中隐藏一些链接。像这样:

{% 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/

10-15 12:02