Bonjour,
j'utlise un listener pour tester la validation d'un compte utilisateur.
Quand l'utilisateur est authentifié, je verifie dans mon logoutListener si son compte est valider. Si oui il a acces au site, sinon je le redirige vers une page pour lui demander d'activer son compte. Logiquement tout marche. Mais je n'arrive pas le rediriger vers la page en question
<?php
// src/Listener/LoginListener.php
namespace App\Listener;
use App\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
class LoginListener
{
private $em;
private $renderer;
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
$user = $event->getAuthenticationToken()->getUser();
if (!$user->getIsValidated()) {
// je dois redirigé ici avec
// redirectToRoute('ma-route');
}
else {
// Enregistre la date de connexion
$user->setLastLogin(new \DateTime());
$this->em->persist($user);
$this->em->flush();
}
}
Mais je ne sais pas comment utiliser redirectToRoute ici.
Quelqu'un aurait une explication ou une solution? Merci d'avance