Symfony2 несколько брандмауэров: выход из другого брандмауэра

я имею 2 межсетевых экрана (один для Панель администратора и один для Зарегистрированные пользователи) а также 2 провайдера в памяти (один для админ и один для Зарегистрированные пользователи) для моего приложения Symfony2 — слишком динамично, а?

Теперь я попытался получить доступ к маршруту для Зарегистрированные пользователи, Boom! Мне предложили диалог BasicAuth, как и ожидалось.

Далее, когда я пытался получить доступ к маршруту для админ, Мне снова предлагают другой диалог 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 }

Все, что я хочу, это просто один раз войти в систему через брандмауэр.

Какие-нибудь подобные события? Или предлагаемое решение?

0

Решение

Используйте invalidate_session: false в обоих настройках брандмауэра выхода из системы:

logout:
path:             mylogoutpath
target:           MyBundle_homepage
invalidate_session: false

Invalidate_session: false делает свое дело.
Увидеть: https://codedump.io/share/OfziwjHXBHbB

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]