Afin de personnaliser le lien de redirection après une réinitialisation de mot de passe avec une route autre que celle définie par défaut, voici la marche à suivre :
Sur le fichier services.yml on créé un listener
#services.yml dt_user.password_resetting: class: DT\UserBundle\EventListener\PasswordResettingListener arguments: [ @router ] tags: - { name: kernel.event_subscriber }
Puis dans notre UserBundle, on créé le fichier XX\UserBundle\EventListener\PasswordResettingListener.php et on change le nom de la route avec celle souhaitée dans la fonction onPasswordResettingSuccess()
<?php # XX\UserBundle\EventListener\PasswordResettingListener.php namespace XX\UserBundle\EventListener; use FOS\UserBundle\FOSUserEvents; use FOS\UserBundle\Event\FormEvent; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; /** * Listener responsible to change the redirection at the end of the password resetting */ class PasswordResettingListener implements EventSubscriberInterface { private $router; public function __construct(UrlGeneratorInterface $router) { $this->router = $router; } public static function getSubscribedEvents() { return [ FOSUserEvents::RESETTING_RESET_SUCCESS => 'onPasswordResettingSuccess', ]; } public function onPasswordResettingSuccess(FormEvent $event) { // On change la route xx_homepage avec notre propre route $url = $this->router->generate('xx_homepage'); $event->setResponse(new RedirectResponse($url)); } }