src/EventsSubscriber/SecuritySubscriber.php line 36

Open in your IDE?
  1. <?php
  2. namespace App\EventsSubscriber;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  5. use Symfony\Component\Security\Core\Event\AuthenticationSuccessEvent;
  6. use Symfony\Component\Security\Http\SecurityEvents;
  7. class SecuritySubscriber implements EventSubscriberInterface
  8. {
  9.     private $em;
  10.     /**
  11.      * SecuritySubscriber constructor.
  12.      * @param $em
  13.      */
  14.     public function __construct(EntityManagerInterface $em)
  15.     {
  16.         $this->em $em;
  17.     }
  18.     public static function getSubscribedEvents()
  19.     {
  20.         return [
  21.             AuthenticationSuccessEvent::class => [
  22.                 ['authenticationSuccess'10]
  23.             ]
  24.         ];
  25.     }
  26.     public function authenticationSuccess(AuthenticationSuccessEvent $event)
  27.     {
  28.         $user $event->getAuthenticationToken()->getUser();
  29.         $user->setLastConnection(new \DateTime());
  30.         $this->em->flush();
  31.     }
  32. }