Symfony2丢失了身份验证

时间:2012-10-04 08:45:39

标签: symfony fosuserbundle

我正在构建一个简单架构的网站,以非常基本的方式使用FOSuserBundle:

  • 可以对用户进行身份验证的公共区域
  • 受保护区域,用户必须通过身份验证
  • 登录页面

身份验证在公共页面上正常运行。 但是,当用户转到受保护的页面时,身份验证将丢失(匿名),并且用户将被重定向到登录页面。 尽管如此,用户仍然可以通过公共页面进行身份验证。

这是防火墙配置:

    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

    login:
       pattern:   ^/(login$|register|resetting)
       anonymous: true

    secured_area:
        pattern: ^(/[A-Za-z_]*/[A-Za-z0-9-]*/[A-Za-z0-9-]*/.*)|(/[A-Za-z_]*/NT.*)
        form_login:
            provider:    fos_userbundle
            csrf_provider: form.csrf_provider
            remember_me: true
            use_referer: true
        remember_me:
            key:         %secret%
        anonymous:       false
        logout:          true

    main:
        pattern: ^/
        form_login:
            provider:    fos_userbundle
            csrf_provider: form.csrf_provider
            remember_me: true
            use_referer: true
        remember_me:
            key:         %secret%
        anonymous:       true
        logout:          true

谢谢:)

1 个答案:

答案 0 :(得分:0)

如果您有2个防火墙您需要让用户通过每个防火墙进行身份验证。 你坚持使用main并需要一些角色来访问你的安全页面吗? 您可以添加删除secured_area防火墙并添加例如:

access_control:     
    - { path: ^/secured, role: ROLE_ADMIN }