[英]How to make /login route accessible only for anonymous users in Symfony4?
我的access_controll
看起來像:
- { path: ^/login, role: IS_AUTHENTICATED_ANONYMOUSLY}
- { path: ^/, roles: ROLE_USER}
我只需要向匿名身份驗證的用戶授予路由/login
的訪問權限。
好的,我找到了解決方案:
- { path: ^/login, allow_if: 'is_anonymous()'}
好的,即使使用重定向,也有更好的變體來做到這一點。 首先,您需要使用以下內容編輯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')
);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.