2011-12-04 3 views
24

В Symfony 2 вы можете настроить цель для выхода из системы. Так что после выхода вы будете перенаправлены на /main. Однако с логином вы будете перенаправлены на /. Есть ли способ настроить цель для (успешного) входа?Перенаправление после входа в систему Symfony 2

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

    login: 
     pattern: ^/m/login$ 
     security: false 

    secured_area: 
     pattern: ^/m 
     form_login: 
      check_path: /m/login_check 
      login_path: /m/login 
     logout: 
      path: /m/logout 
      target: /main 
     anonymous: ~ 

ответ

50

Да. Вы можете использовать опцию target_path. Использование приведенного выше примера:

firewalls: 
    secured_area: 
     form_login: 
      always_use_default_target_path: true 
      default_target_path: /loggedinpage 

С выше пользователь всегда будет перенаправлен на /loggedinpage после успешного входа в систему. Подробная информация обо всех вариантах компонента безопасности доступна в Symfony docs (хотя и немного скрыта!)

+2

Спасибо за (глубокую) ссылку на документы Symfony за более подробной информацией! – flu

+1

Также я бы подумал, что путь default_target_path всегда используется, если раньше вы не запрашивали защищенный маршрут. К сожалению, это не так. – flu

+0

Что делать, если я хочу передать локаль на маршрут? –