symfony2 настройка брандмауэра — странное поведение при входе в систему

Я использую symfony2 с FOSUserBundle и пытаюсь правильно настроить брандмауэр.

Я хочу, чтобы основная часть моего сайта была недоступна анонимным пользователям. Домашняя страница ($ в общедоступном шаблоне) и некоторые другие должны быть доступны в соответствии с шаблоном.

С моей текущей конфигурацией, после входа в систему я перенаправлен на домашнюю страницу, но все еще как анонимный. Если я непосредственно наберу URL-адрес страницы, которая не может быть анонимной сразу после этого, я могу получить к ней доступ, и я вошел в систему (в профилировщике).

Моя конфигурация:

dev:
pattern:  ^/(_(profiler|wdt)|css|images|js)/
security: false
public:
pattern:        /(login$|register|resetting|public|$)
anonymous:      true
main:
pattern:        ^/
anonymous:      false
provider:       main
form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check
logout:
path:       fos_user_security_logout
target:     /

Что я могу сделать, чтобы заставить его работать должным образом (зарегистрировано правильно после входа в систему).

РЕДАКТИРОВАТЬ:
Я лучше понимаю, что происходит: после входа в систему меня перенаправляют на домашнюю страницу = корневой адрес. Сначала он попадает в публичный брандмауэр, и поэтому я не вижу, что он подключен.

0

Решение

Ну, вы всегда можете жестко указать путь, который вы перенаправили после входа в систему (в вашем security.yml файл). Вы можете прочитать больше Вот

security:
firewalls:
main:
form_login:
default_target_path: default_security_target
0

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

Готово! Решение включает свойство context межсетевого экрана, которое лучше описано здесь:
Аутентификация нескольких брандмауэров Symfony2 с помощью одной формы входа

Моя конфигурация теперь становится:

брандмауэры:

dev:
pattern:  ^/(_(profiler|wdt)|css|images|js)/
security: false
guest:
pattern:        /(user/login$|user/register|user/resetting|$)
anonymous:      true
context:        main_auth
main:
pattern:        ^/(?!user/login$)
anonymous:      false
provider:       main
context:        main_auth
form_login:
login_path: fos_user_security_login
check_path: fos_user_security_check
logout:
path:       fos_user_security_logout
target:     /
remember_me:
key:      "%secret%"lifetime: 86400 # 365 jours en secondes
path:     /
domain:   ~ # Prend la valeur par défaut du domaine courant depuis $_SERVER
oauth:
remember_me: true
resource_owners:
facebook:           "/loginhwi/check-facebook"github:             "/loginhwi/check-github"google:             "/loginhwi/check-google"twitter:            "/loginhwi/check-twitter"linkedin:           "/loginhwi/check-linkedin"flickr:             "/loginhwi/check-flickr"login_path:        fos_user_security_login
check_path:        fos_user_security_check
failure_path:      fos_user_security_login
success_handler:  foodmeup_user.handler_auth
oauth_user_provider:
service: fosubuser.provider
0

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