6
我有两个区,一个为客户提供从网页中的其他从AJAX API调用和Web服务访问Symfony的应用。如何同时在2个不同的symfony2防火墙上进行身份验证?
这个领域中的每一个保护在其自己的防火墙。 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: ~
我引用这个答案,这是一个非常类似的问题,所不同的是使用两种不同的身份验证方法(无状态的HTTP基本和其他使用cookie)香港专业教育学院已经尝试提出了配置,但它只是没工作了 – Xocoatzin 2012-10-22 05:50:01
@Xocoatzin IM,不同身份验证方法不应该成为防火墙之间共享上下文的问题。例如,我正在使用标准登录表单防火墙和另一个针对SSO服务器进行身份验证的方法。他们有不同类型的认证令牌。 – Dziamid 2013-08-07 15:10:40