【发布时间】:2012-10-19 23:40:45
【问题描述】:
我有一个 Symfony 应用程序,它有 2 个区域,一个用于从网页访问的客户端,另一个用于来自 AJAX 和 Web 服务的 API 调用。
这些区域中的每一个都由独立的防火墙保护。 WEB 界面使用登录表单进行身份验证,API 使用http_basic 进行身份验证。
两个防火墙都工作正常,但是当 WEB 接口对 API 接口进行 AJAX 调用时,浏览器会提示用户再次登录,即使他已经登录(通过登录表单)。这是我想要避免的。我希望两个防火墙同时进行身份验证以防止出现此提示。
我看到另一个问题完全相同同样的问题。但是他们在两个防火墙上都使用http_basic 身份验证,因此,提出的解决方案不适用于我的情况:
Authenticate multiple symfony2 firewalls with one login form
我的 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: ~
【问题讨论】:
标签: security authentication symfony firewall