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

Aucune réponse