我注意到FOSUserBundle的默认access_control配置是
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
但是当我尝试将这些角色设置为
时IS_AUTHENTICATED_ANONYMOUSLY && !IS_AUTHENTICATED_FULLY
它为/ login提供了无限循环。如何才能对完全认证的用户禁止这三条规则?
答案 0 :(得分:1)
当用户登录时,您不应拒绝登录页面的访问,因为403 forbidden会自动重定向到登录页面,因为它请求用户登录。
最好编写一个检查每个请求的服务。当它与登录请求匹配时,您需要检查用户是否经过身份验证,并将其重定向到索引页面而不是请求登录页面。