如何在同一时间在2个不同的Symfony2防火墙认证?(How to authenticate on

2019-07-30 18:28发布

我有两个区,一个为客户提供从网页中的其他从AJAX API调用和Web服务访问Symfony的应用。

这个领域中的每一个保护在其自己的防火墙。 Web界面进行身份验证日志的形式和与API http_basic

两个防火墙做工精细,但WEB界面使一个AJAX调用API接口时,浏览器会提示用户重新登录,即使他已经登录(通过日志的形式)。 这是我想避免的。 我想,这两个防火墙是在同一时间,以防止此提示验证。

我已经看到了一模一样的问题,另外一个问题。 但他们使用的http_basic两个防火墙认证,因此,该解决方案提出了我的情况我以前不工作:

验证多个Symfony2的防火墙有一个登录表单

我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: ~

Answer 1:

你可能想看看这里: 验证多个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


文章来源: How to authenticate on 2 different symfony2 firewalls at the same time?