0

我正在构建一个架构简单的网站,以非常基本的方式使用 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

谢谢 :)

4

1 回答 1

0

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

access_control:     
    - { path: ^/secured, role: ROLE_ADMIN }
于 2012-10-04T09:15:10.127 回答