events - tag - symfony service priority



Сделайте что-то сразу после успеха входа в symfony2 и перед перенаправлением? (1)

Вы можете указать обработчик успеха входа, который будет выполнен при успешном входе в систему.

Например, ваш security.yml

firewalls:
    main:
        pattern: ^/
        form_login:
            success_handler: my.security.login_handler

Теперь создайте класс, который реализует Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface и при успешном входе в систему, вы можете делать все, что вам нужно, и обрабатывать перенаправление по своему усмотрению.

/**
 * 
 */
public function onAuthenticationSuccess(Request $request, TokenInterface $token)
{
    // handle it and return a response
}

Затем создайте службу с этим именем в вашем services.xml для вашего пакета или в вашем config.yml, используя только что созданный обработчик.

Первоначально я узнал, как это сделать после этого урока:

http://www.reecefowell.com/2011/10/26/redirecting-on-loginlogout-in-symfony2-using-loginhandlers/

https://src-bin.com

Я ищу какое-то время, для любой информации, о том, как сделать что-то после успеха аутентификации в symfony2. Я хочу перефразировать пароль пользователя, чтобы использовать bcrypt сразу после успешной проверки подлинности, используя старый хэш. Мне нужно сделать это, когда у меня все еще есть действительный простой пароль, поэтому он должен быть сразу после проверки учетных данных и перед перенаправлением.

Любые подсказки, как это достичь?

Я нашел что-то в диспетчере событий в Symfony, но не могу найти, произошло ли какое-либо событие после успешной проверки подлинности.

Пожалуйста, поправьте меня, если я попытаюсь сделать это неправильно и предложить какой-нибудь лучший подход.

// EDIT

Ок, я обнаружил, что событие было запущено сразу после успеха auth, оно называется security.authentication.success . Итак, теперь я могу прикрепить к этому событию, но теперь я не уверен, где в моем коде привязки я должен присоединить слушателя событий? Должен ли я сделать это в моем /src/Pkr/BlogUserBundle/DependencyInjection/PkrBlogUserExtension.php в /src/Pkr/BlogUserBundle/DependencyInjection/PkrBlogUserExtension.php load() ?





hook