Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2多个防火墙:从其他防火墙注销_Php_Security_Symfony_Authentication_Firewall - Fatal编程技术网

Php Symfony2多个防火墙:从其他防火墙注销

Php Symfony2多个防火墙:从其他防火墙注销,php,security,symfony,authentication,firewall,Php,Security,Symfony,Authentication,Firewall,我的Symfony2应用程序有两个防火墙(一个用于管理面板,一个用于注册用户)和两个内存提供程序(一个用于管理,一个用于注册用户),太动态了吧 现在,我试图访问注册用户的路径,砰!正如预期的那样,我看到了一个BasicAuth对话框 接下来,当我试图访问admin的路由时,我再次看到另一个BasicAuth对话框——正如预期的那样 但是,当我导航回任何注册用户”路径时,我再次看到BasicAuth对话框,我得出结论,每当我在与我导航的路径匹配的防火墙的身份验证对话框中被要求提供凭据时,我都会自动

我的Symfony2应用程序有两个防火墙(一个用于管理面板,一个用于注册用户)和两个内存提供程序(一个用于管理,一个用于注册用户),太动态了吧

现在,我试图访问注册用户的路径,砰!正如预期的那样,我看到了一个BasicAuth对话框

接下来,当我试图访问admin的路由时,我再次看到另一个BasicAuth对话框——正如预期的那样

但是,当我导航回任何注册用户”路径时,我再次看到BasicAuth对话框,我得出结论,每当我在与我导航的路径匹配的防火墙的身份验证对话框中被要求提供凭据时,我都会自动从另一个防火墙注销

这是我的
security.yml
文件

security:

    role_hierarchy:
        ROLE_ADMIN: ROLE_USER

    providers:
        walang_forever:
            memory: 
                users:
                    user:
                        password: test
                        roles: 'ROLE_USER'
        nailad_forever:
            memory:
                users:
                    admin:
                        password: test
                        roles: 'ROLE_ADMIN'

    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        admin_gugma:
            pattern: ^/admin
            http_basic: 
                provider: nailad_forever

        main_gugma:
            pattern: ^/user
            http_basic:
                provider: walang_forever

    encoders:
        Symfony\Component\Security\Core\User\User: plaintext

    access_control:
        - { path: ^/admin, roles: ROLE_ADMIN }
        - { path: ^/user, roles: ROLE_USER }
我只想在每个防火墙上登录一次


有类似的经历吗?或建议的解决方案?

在两种注销防火墙设置上使用invalidate\u session:false:

logout:
    path:             mylogoutpath
    target:           MyBundle_homepage
    invalidate_session: false
invalidate_会话:false起作用。 请参阅:

试试这个