[英]How to authenticate on 2 different symfony2 firewalls at the same time?
我有一个Symfony应用程序,其中有2个区域,一个区域用于客户端从网页访问,另一个区域用于从AJAX和Web服务进行API调用。
每个区域都由自己的防火墙保护。 WEB界面使用登录表单进行身份验证,API则使用http_basic
身份验证。
两种防火墙都能正常工作,但是当WEB界面对API界面进行AJAX调用时,浏览器会提示用户再次登录,即使该用户已经登录(通过登录表单)也是如此。 这就是我要避免的。 我希望同时对两个防火墙进行身份验证,以防止出现此提示。
我看过另一个问题,但问题完全相同 。 但是他们在两个防火墙上都使用http_basic
身份验证,因此,提出的解决方案http_basic
用于我的情况:
我的security.yml
#....
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: ~
您可能需要看这里: 使用一种登录表单对多个symfony2防火墙进行身份验证,那里有解决类似问题的方法
引:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.