我正在构建一个简单架构的网站,以非常基本的方式使用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
谢谢:)
答案 0 :(得分:0)
如果您有2个防火墙您需要让用户通过每个防火墙进行身份验证。 你坚持使用main并需要一些角色来访问你的安全页面吗? 您可以添加删除secured_area防火墙并添加例如:
access_control:
- { path: ^/secured, role: ROLE_ADMIN }