Symfony2 / FOSUserBundle - 禁止用户访问匿名页面

时间:2013-06-26 11:13:49

标签: symfony firewall fosuserbundle rules

我注意到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提供了无限循环。如何才能对完全认证的用户禁止这三条规则?

1 个答案:

答案 0 :(得分:1)

当用户登录时,您不应拒绝登录页面的访问,因为403 forbidden会自动重定向到登录页面,因为它请求用户登录。

最好编写一个检查每个请求的服务。当它与登录请求匹配时,您需要检查用户是否经过身份验证,并将其重定向到索引页面而不是请求登录页面。