FOSUserBundle: перенаправить пользователя после регистрации в EventListener

Я хочу перенаправить пользователя в другую форму сразу после регистрации, прежде чем он сможет получить доступ к чему-либо на моем сайте (как вhttps://github.com/FriendsOfSymfony/FOSUserBundle/issues/387).

Поэтому я создаю eventListener, как в документе:

<?php
namespace rs\UserBundle\EventListener;

use FOS\UserBundle\FOSUserEvents;
use FOS\UserBundle\Event\UserEvent;
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 RegistrationConfirmedListener implements EventSubscriberInterface
{
    private $router;

    public function __construct(UrlGeneratorInterface $router)
    {
        $this->router = $router;
    }

    /**
     * {@inheritDoc}
     */
    public static function getSubscribedEvents()
    {
        return array(
                FOSUserEvents::REGISTRATION_CONFIRMED => 'onRegistrationConfirmed'
        );
    }

    public function onRegistrationConfirmed()
    {
        $url = $this->router->generate('rsWelcomeBundle_check_full_register');
        $response = new RedirectResponse($url);
        return $response;
    }
}

Services.yml:

services:
    rs_user.registration_completed:
        class: rs\UserBundle\EventListener\RegistrationConfirmedListener
        arguments: [@router]
        tags:
            - { name: kernel.event_subscriber }

Но это не работает, пользователь регистрируется, он нажимает на ссылку подтверждения в своем почтовом ящике, он не перенаправлен на нужную мне страницу, он вошел в систему, и у меня просто есть сообщение, которое говорит, что учетная запись подтверждена.

Почему он не перенаправляет меня на маршрут: rsWelcomeBundle_check_full_register, как я хочу?

Спасибо

Ответы на вопрос(5)

Ваш ответ на вопрос