我有一个包含 2 个区域的 Symfony 应用程序,一个区域用于客户端从网页访问,另一个区域用于来自 AJAX 和 Web 服务的 API 调用。
每个区域都由自己的防火墙保护。 WEB 界面通过登录表单和 API 进行身份验证http_basic
.
两种防火墙都工作正常,但是当 WEB 界面对 API 接口进行 AJAX 调用时,浏览器会提示用户再次登录,即使他已经登录(通过登录表单)。这是我想避免的。我希望两个防火墙同时进行身份验证,以防止出现此提示。
我见过另一个问题exactly一样的问题。但他们正在使用http_basic
两个防火墙上的身份验证,因此,提出的解决方案不适用于我的情况:
使用一张登录表单验证多个 symfony2 防火墙 https://stackoverflow.com/questions/9075041/authenticate-multiple-symfony2-firewalls-with-one-login-form
我的安全.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 防火墙 https://stackoverflow.com/questions/9075041/authenticate-multiple-symfony2-firewalls-with-one-login-form那里有类似问题的解决方案
quoted:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)