Symfony2 FOSUserBundle安全性

two*_*e88 1 php access-control symfony fosuserbundle

我有奇怪的问题.我无法关闭页面访问权限

/registration
/login
/resetting
Run Code Online (Sandbox Code Playgroud)

已经授权的用户.

access_control:
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/profile, role: ROLE_USER }
    - { path: ^/admin/, role: ROLE_ADMIN }
Run Code Online (Sandbox Code Playgroud)

为什么具有规则ROLE_USER的用户可以访问页面/登录?我应该如何关闭它?使用模板或security.xml?

如果要访问/登录,如何使用规则ROLE_USER重定向用户?

Jér*_*eil 5

角色在Symfony2中按层次确定; ROLE_USER显然位于IS_AUTHENTICATED_ANONYMOUSLY的顶部,这就是为什么您的用户可以访问任何可以为匿名用户访问的页面.

如果要限制访问,则需要检查控制器是否已对用户进行身份验证,并在此情况下重定向.