Salut les amis,
Voilà je suis en train de me former sur la gestion des événements sur Symfony.
Jusqu'à maintenant tous se passe bien !
J'ai le code suivant :
Lorsqu'un utilisateur se connecte à l'application, un listerner détecte l’événement de connexion et met à jour le champs last_login_at dans la bdd
Jusqu’à maintenant tous se passe bien.
Le problème apparaît lorsque l'utilisateur souhaite se déconnecter.
En effet à la déconnexion, la méthode onSecurityAuthenticationSuccess du listener est toujours appelé.
Problème une fois déconnecté on ne peut plus récupérer un user (dans la session)
Conséquence : ça bug !
C'est pouvoir
Comment puis-je faire ça ?
Voici mon code pour le listerner
    public function onSecurityAuthenticationSuccess(AuthenticationEvent $event){
        $user = $event->getAuthenticationToken()->getUser();
        if ($user) {
            //dd($user);
            $user->setLastLoginAt(new \Datetime('now'));
            $this->em->persist($user);
            $this->em->flush();
        }
    }