我的access_controll
如下:
- { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/, roles: ROLE_USER}
我只需要向匿名身份验证的用户授予访问路由/login
的权限。
答案 0 :(得分:2)
好,我找到了解决方法:
- { path: ^/login, allow_if: 'is_anonymous()'}
答案 1 :(得分:1)
好吧,即使有重定向,也有更好的变体来做到这一点。首先,您需要使用以下命令编辑security.yaml
:
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/, roles: ROLE_USER}
然后将其添加到您的SecurityController::login()
方法中:
if ($this->isGranted('ROLE_USER')) {
return new RedirectResponse(
$this->generateUrl('index')
);
}