【问题标题】:Symfony2 FOSUserBundle securitySymfony2 FOSUserBundle 安全性
【发布时间】:2012-02-27 21:05:46
【问题描述】:

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

/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 重定向用户?

【问题讨论】:

    标签: php symfony access-control fosuserbundle


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-15
      相关资源
      最近更新 更多