src/EventSubscriber/LogoutSubscriber.php line 23
<?phpnamespace App\EventSubscriber;use App\Entity\HistoriqueConnexion;use Doctrine\ORM\EntityManagerInterface;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Symfony\Component\Security\Http\Event\LogoutEvent;class LogoutSubscriber implements EventSubscriberInterface{private EntityManagerInterface $em;public function __construct( EntityManagerInterface $em) {$this->em = $em;}public static function getSubscribedEvents(): array{return [LogoutEvent::class => 'onLogout'];}public function onLogout(LogoutEvent $event): void{$historique = new HistoriqueConnexion();$historique->setUtilisateur($event->getToken()->getUser());$historique->setDate(new \DateTimeImmutable('now'));$historique->setAction('Déconnexion');if($event->getRequest()->query->get('_remote_addr')){$historique->setAdresseIp($event->getRequest()->query->get('_remote_addr'));$event->getRequest()->query->remove('_remote_addr');}else{$historique->setAdresseIp("Non renseignée");}$this->em->persist($historique);$this->em->flush();}}