Динамический целевой путь по умолчанию в Symfony2


Я разрабатываю приложение с помощью Symfony2 и FOSUserBundle.

Когда пользователь входит в систему, я хочу перенаправить их на /пользователь/имя пользователя, имя пользователя, очевидно, меняется с каждым пользователем.

Одним из вариантов Security.yml является default_target_path. Можно ли установить default_target_path в динамический путь, или мне нужно переопределить класс FOSUB для входа в систему.

Author: Axxiss, 2012-02-10

2 answers

Перезаписать Защищенный контроллер и Шаблон. В контроллере, когда пользователь входит в систему, создайте переменную и передайте ее своему шаблону

<input type="hidden" name="_target_path" value="{{redirect_url}}" />
 1
Author: rtyshyk, 2012-02-10 21:48:59

Приведенный выше ответ неверен, вам необходимо зарегистрировать службу как success_handler для вашего брандмауэра, реализующего интерфейс authenticationsuccesshandlerинтерфейс (вы можете имитировать DefaultAuthenticationSuccessHandler)

Правильный ответ здесь: Symfony2 расширяет обработчик успешности проверки подлинности по умолчанию

 1
Author: ROLO, 2017-05-23 12:05:49