簡體   English   中英

Symfony2多個防火牆:從其他防火牆注銷

[英]Symfony2 Multiple Firewalls: Logs out from other firewall

我的Symfony2應用程序有2個防火牆 (一個用於管理面板 ,一個用於注冊用戶 )和2個內存提供程序 (一個用於管理員 ,一個用於注冊用戶 )-太動態了吧?

現在,我嘗試訪問注冊用戶 Boom的路由。 出現預期的基本身份驗證對話框。

接下來,當我嘗試訪問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_session:false:

logout:
    path:             mylogoutpath
    target:           MyBundle_homepage
    invalidate_session: false

invalidate_session:false可以解決問題。 請參閱: https//extractcode.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM