<?php
namespace App\EventsSubscriber;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Security\Core\Event\AuthenticationSuccessEvent;
use Symfony\Component\Security\Http\SecurityEvents;
class SecuritySubscriber implements EventSubscriberInterface
{
private $em;
/**
* SecuritySubscriber constructor.
* @param $em
*/
public function __construct(EntityManagerInterface $em)
{
$this->em = $em;
}
public static function getSubscribedEvents()
{
return [
AuthenticationSuccessEvent::class => [
['authenticationSuccess', 10]
]
];
}
public function authenticationSuccess(AuthenticationSuccessEvent $event)
{
$user = $event->getAuthenticationToken()->getUser();
$user->setLastConnection(new \DateTime());
$this->em->flush();
}
}