1

我有奇怪的问题。我无法关闭对页面的访问

/registration
/login
/resetting

对于已经授权的用户。

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 }

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

想要访问 /login 时,如何使用规则 ROLE_USER 重定向用户?

4

1 回答 1

5

Symfony2 中的角色是分层确定的;ROLE_USER 显然位于 IS_AUTHENTICATED_ANONYMOUSLY 之上,这就是为什么您的用户可以访问任何匿名用户可以访问的页面的原因。

如果您想限制访问,您需要检查您的控制器是否用户已通过身份验证,并在这种情况下重定向他。

于 2012-02-06T14:32:21.093 回答