Security 如何同时在2个不同的symfony2防火墙上进行身份验证?
我有一个Symfony应用程序,有两个区域,一个用于客户端从网页访问,另一个用于来自AJAX和web服务的API调用 每个区域都有自己的防火墙保护。WEB界面通过登录表单和API通过Security 如何同时在2个不同的symfony2防火墙上进行身份验证?,security,authentication,symfony,firewall,Security,Authentication,Symfony,Firewall,我有一个Symfony应用程序,有两个区域,一个用于客户端从网页访问,另一个用于来自AJAX和web服务的API调用 每个区域都有自己的防火墙保护。WEB界面通过登录表单和API通过http\u basic进行身份验证 两种防火墙都可以正常工作,但当WEB界面对API界面进行AJAX调用时,浏览器会提示用户再次登录,即使用户已经登录(通过登录表单)。这就是我想要避免的。我希望同时对两个防火墙进行身份验证,以防止出现此提示 我看到另一个问题与完全相同。但是他们在两个防火墙上都使用了http\u b
http\u basic
进行身份验证
两种防火墙都可以正常工作,但当WEB界面对API界面进行AJAX调用时,浏览器会提示用户再次登录,即使用户已经登录(通过登录表单)。这就是我想要避免的。我希望同时对两个防火墙进行身份验证,以防止出现此提示
我看到另一个问题与完全相同。但是他们在两个防火墙上都使用了http\u basic
身份验证,因此,提出的解决方案在我的案例中不起作用:
我的安全
#....
firewalls:
api:
pattern: ^/API
context: primary_auth
stateless: true
http_basic:
realm: "API: Please log in"
web:
pattern: ^/
context: primary_auth
form_login:
check_path: /login_check
login_path: /login
provider: fos_userbundle
logout:
path: /logout
target: /
anonymous: ~
你可能想看看这里:这里有类似问题的解决方案 引述:
security:
# providers etc ...
firewall:
main:
pattern: # ...
provider: my_users
http_basic: ~
context: primary_auth # new
api:
pattern: # ...
provider: my_users
http_basic: ~
context: primary_auth # new
我引用了这个答案,这是一个非常相似的问题,不同的是im使用了两种不同的身份验证方法(无状态http basic和另一种使用cookies)。我已经尝试了建议的配置,但它只是不起作用out@Xocoatzin,不同的身份验证方法不应该成为防火墙之间共享上下文的问题。例如,我正在对标准登录表单防火墙和另一个针对SSO服务器进行身份验证的防火墙执行相同的操作。它们具有不同类型的身份验证令牌。