<?php
namespace App\EventListener;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use App\BackBundle\Entity\User;
class LoginListener
{
private $router;
private $em;
public function __construct(UrlGeneratorInterface $router, EntityManagerInterface $em)
{
$this->router = $router;
$this->em = $em;
}
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
$user = $event->getAuthenticationToken()->getUser();
$user->setLastLogin(new \DateTime());
$session = $event->getRequest()->getSession();
$user->setSessionId($session->getId());
$session->set('userId', $user->getId());
$this->em->persist($user);
$this->em->flush();
}
}