src/EventListener/LoginListener.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\EventListener;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
  5. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  6. use App\BackBundle\Entity\User;
  7. class LoginListener
  8. {
  9.     private $router;
  10.     private $em;
  11.     public function __construct(UrlGeneratorInterface $routerEntityManagerInterface $em)
  12.     {
  13.         $this->router $router;
  14.         $this->em $em;
  15.     }
  16.     public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
  17.     {
  18.         $user $event->getAuthenticationToken()->getUser();
  19.         $user->setLastLogin(new \DateTime());
  20.         $session $event->getRequest()->getSession();
  21.         $user->setSessionId($session->getId());
  22.         $session->set('userId'$user->getId());
  23.         $this->em->persist($user);
  24.         $this->em->flush();
  25.     }
  26. }