/**
  * onAuthenticationSuccess
  *
  */
 public function onAuthenticationSuccess(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     //envoie mail
     $message = \Swift_Message::newInstance()->setSubject('onAuthenticationSuccess')->setFrom(array('*****@*****.**' => 'L\'équipe technique du monsite.com'))->setTo('*****@*****.**')->setBody($user . ' est maintenant connecté à ton site ');
     $this->mailer->send($message);
 }
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($user instanceof UserInterface) {
         // default FOS security checks
         if ($user->getExpiresAt()) {
             $daysToExpire = $user->getExpiresAt()->diff(new \DateTime());
             if ($daysToExpire->format('%a') >= 0) {
                 $this->session->set('_bruery_user.account_expired.' . $user->getId(), 'account_expired');
             }
         }
         if ($user->getCredentialsExpireAt()) {
             $daysToExpire = $user->getCredentialsExpireAt()->diff(new \DateTime());
             if ($daysToExpire->format('%a') >= 0) {
                 $this->session->set('_bruery_user.credentials_expired.' . $user->getId(), 'credentials_expired');
             }
         }
         if ($this->configManager->isEnabled()) {
             //password expire
             if ($this->configManager->getDaysToExpire() && $this->configManager->getRedirectRoute() && $user->getPasswordChangedAt()) {
                 $daysLastChange = $user->getPasswordChangedAt()->diff(new \DateTime());
                 if ((int) $daysLastChange->format('%a') > $this->configManager->getDaysToExpire()) {
                     $this->session->set('_bruery_user.password_expire.' . $user->getId(), 'password_expire');
                 }
             } else {
                 $user->setPasswordChangedAt(new \DateTime());
                 $this->userManager->save($user);
             }
         }
     }
 }
示例#3
0
 public function onLoginSuccess(InteractiveLoginEvent $event)
 {
     $courses = array();
     $user = $event->getAuthenticationToken()->getUser();
     // ignore the in_memory user
     if ($user instanceof \UBC\Exam\MainBundle\Entity\User) {
         $id = $user->getPuid();
         if (!empty($id)) {
             try {
                 $sections = $this->service->getStudentCurrentSections($id);
             } catch (ClientException $e) {
                 // the user may not exists in SIS
                 if (404 == $e->getResponse()->getStatusCode()) {
                     $sections = array();
                 } else {
                     throw $e;
                 }
             } catch (\RuntimeException $e) {
                 $sections = array();
                 $this->logger->warn("Failed to load current section for {$id}. Reason: " . $e->getMessage());
             }
             foreach ($sections as $s) {
                 $key = $s->getCourse()->getCode() . ' ' . $s->getCourse()->getNumber();
                 $courses[$key] = $s->getCourse();
             }
         }
     }
     $this->session->set('courses', $courses);
 }
示例#4
0
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $request = $event->getRequest();
     $user = $this->tokenStorage->getToken()->getUser();
     $clientIp = $request->getClientIp();
     $this->analyticsManager->addEntry($user->getId(), 'login_successful', 0, $clientIp, new DateTime());
 }
示例#5
0
 /**
  * Updates user with shibboleth data upon login
  *
  * @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event
  */
 public function onInteractiveLogin(InteractiveLoginEvent $event)
 {
     $token = $event->getAuthenticationToken();
     if ($token instanceof ShibbolethUserToken && null !== $this->userProvider) {
         $this->userProvider->updateUser($token);
     }
 }
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $token = $event->getAuthenticationToken();
     if ($this->resolver->isFullFledged($token)) {
         $token->setAttribute('last_login', time());
     }
 }
 /**
  * @param InteractiveLoginEvent $event
  */
 public function onInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if (null !== $user->getLocale()) {
         $this->session->set('_locale', $user->getLocale());
     }
 }
 /**
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($user instanceof UserInterface) {
         $this->updateUserLastLogin($user);
     }
 }
示例#9
0
 /**
  * Do the magic.
  *
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     if ($this->securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
         // user has just logged in
     }
     if ($this->securityContext->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
         // user has logged in using remember_me cookie
     }
     // do some other magic here
     $session = $event->getRequest()->getSession();
     $referrer = $session->get('referrer');
     if (empty($referrer)) {
         $referrer = $event->getRequest()->getUri();
     }
     $user = $event->getAuthenticationToken()->getUser();
     $log = new Log();
     $log->setIdUsuario($user);
     $log->setDtAcao(new \DateTime());
     $log->setNmTabela('acesso');
     $log->setCsAcao('ACE');
     $log->setTeIpOrigem($event->getRequest()->getClientIp());
     $log->setNmScript($referrer);
     // Registra login
     $this->em->persist($log);
     $this->em->flush();
     // TODO: Redireciona para útima página visitada
 }
示例#10
0
 public function onKernelLogOk(InteractiveLoginEvent $event)
 {
     $ip = $_SERVER['REMOTE_ADDR'];
     $token = $event->getAuthenticationToken();
     $request = $event->getRequest();
     echo "<pre>";
     print_r($token);
     echo "</pre>";
     die('Interactivelogin');
     //$user = $token->getUser();
     /*
     		$session = new Session();
     		if(gettype($user) != 'string'){
     			
     			
     
     
     			$log = new Log();
     			$log->setUser($user);
     			$log->setIp($ip);
     			$this->em->persist($log);
     
     
     			$user->setLogged(true);
     			$user->setTimeUpdate(new \DateTime());
     			$user->setLogIn($log);
     
     
     			$this->em->flush();
     
     			//*/
     //}
 }
示例#11
0
 /**
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     if ($event->getAuthenticationToken()->getUser() instanceof AccountUser) {
         $request = $event->getRequest();
         $request->attributes->set('_fullRedirect', true);
     }
 }
 public function onInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($user instanceof User) {
         $user->setLastLoginAt(new \DateTime());
         $this->userManager->editLastLogin($user);
     }
 }
 function it_updates_user_last_login_on_security_interactive_login(InteractiveLoginEvent $event, TokenInterface $token, UserInterface $user, $userManager)
 {
     $event->getAuthenticationToken()->shouldBeCalled()->willReturn($token);
     $token->getUser()->shouldBeCalled()->willReturn($user);
     $userManager->persist($user)->shouldBeCalled();
     $userManager->flush()->shouldBeCalled();
     $this->onSecurityInteractiveLogin($event);
 }
示例#14
0
 /**
  * @param InteractiveLoginEvent $interactiveLoginEvent
  */
 public function onInteractiveLogin(InteractiveLoginEvent $interactiveLoginEvent)
 {
     $user = $interactiveLoginEvent->getAuthenticationToken()->getUser();
     if (!$user instanceof UserInterface) {
         return;
     }
     $this->blame($user);
 }
示例#15
0
 /**
  * security.interactive_login event. If a user chose a locale in preferences, it would be set,
  * if not, a locale that was set by setLocaleForUnauthenticatedUser remains.
  *
  * @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event
  */
 public function setLocaleForAuthenticatedUser(InteractiveLoginEvent $event)
 {
     /** @var \OS\UserBundle\Entity\User $user  */
     $user = $event->getAuthenticationToken()->getUser();
     if ($user->getLocale()) {
         $event->getRequest()->setLocale($user->getLocale());
     }
 }
 public function onFormLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if (is_object($user)) {
         $perfils = $user->getPerfils();
         $this->setPerfilId($event->getRequest(), $perfils);
     }
 }
示例#17
0
 /**
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     // if first login, set a session flag so we can detect it in the controller
     if ($user instanceof UserInterface && $user->isFirstLogin()) {
         $event->getRequest()->getSession()->set('isFirstLogin', true);
     }
 }
 public function listenToInteractiveLogin(InteractiveLoginEvent $event)
 {
     if ($user = $event->getAuthenticationToken()->getUser()) {
         if ($user instanceof User) {
             $this->cache->updateNbUnread($user);
         }
     }
 }
 public function onLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($user instanceof UserInterface) {
         $user->setLastLogin(new \DateTime('now', new \DateTimeZone('UTC')))->setLoginCount($user->getLoginCount() + 1);
         $this->userManager->updateUser($user);
     }
 }
示例#20
0
 /**
  * This method will be called on user login in order to set the victoire locale.
  *
  * @param InteractiveLoginEvent $event
  */
 public function onLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($user instanceof VictoireUserInterface) {
         // set the victoireLocale
         $event->getRequest()->getSession()->set('victoire_locale', $user->getLocale());
     }
 }
示例#21
0
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     if ($event->getRequest()->get('_route') != 'engishop_front_login_check') {
         return;
     }
     $event->getAuthenticationToken()->getUser()->setLastLogin(new \DateTime());
     $this->entityManager->flush();
 }
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($user instanceof UserInterface) {
         $user->setLastLogin(new DateTime());
         $this->userManager->updateUser($user);
     }
 }
示例#23
0
 /**
  * Updates the 'last_login_at' field of the user
  */
 public function onAuthenticationSuccess(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($user instanceof CamdramUserInterface) {
         $user->setLastLoginAt($this->timeService->getCurrentTime());
         $this->entityManager->flush($user);
     }
 }
 /**
  * Removes current userId stored in session if needed.
  *
  * @param InteractiveLoginEvent $e
  */
 public function onInteractiveLogin(InteractiveLoginEvent $e)
 {
     $request = $e->getRequest();
     if (!$e->getAuthenticationToken()->isAuthenticated() && $request->cookies->has('is_logged_in')) {
         $request->getSession()->invalidate();
         $this->needsCookieCleanup = true;
     }
 }
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     if ($this->securityContext->isGranted('IS_AUTHENTICATED_FULLY')) {
         $user = $event->getAuthenticationToken()->getUser();
         if ($user->getLastLogin() === null) {
             $this->dispatcher->addListener(KernelEvents::RESPONSE, array($this, 'onKernelResponse'));
         }
     }
 }
示例#26
0
 /**
  * После успешного логина
  *
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     # запоминаем время логина пользователя
     $userId = $event->getAuthenticationToken()->getUser()->getId();
     if ($userId) {
         $lastLogin = date('Y-m-d H:i:s');
         $this->em->createQuery("\r\n\t\t\t\tUPDATE EvrikaMainBundle:User u\r\n\t\t\t\tSET u.lastLogin = '******'\r\n\t\t\t\tWHERE u.id = {$userId}\r\n\t\t\t")->execute();
     }
 }
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     $username = $user->getUsername();
     $email = $user->getEmail();
     $event = array();
     $event['user'] = array('name' => $username ? $username : $email);
     $this->stacksight->publishEvent(array('action' => self::EVENT_LOGIN, 'type' => 'user', 'name' => '') + $event);
 }
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $token = $event->getAuthenticationToken();
     if ($token !== null && ($user = $token->getUser())) {
         $audit = AuditLog::make($user, 'login', $event->getRequest()->getClientIp());
         $this->em->persist($audit);
         $this->em->flush();
     }
 }
 /**
  * @dataProvider dataProvider
  *
  * @param UserInterface $user
  * @param bool $expected
  */
 public function testOnSuccessLogin(UserInterface $user, $expected)
 {
     $this->token->expects($this->once())->method('getUser')->willReturn($user);
     $this->event->expects($this->once())->method('getAuthenticationToken')->willReturn($this->token);
     $this->event->expects($expected ? $this->once() : $this->never())->method('getRequest')->willReturn($this->request);
     $this->assertNull($this->request->attributes->get('_fullRedirect'));
     $this->listener->onSecurityInteractiveLogin($this->event);
     $this->assertEquals($expected, $this->request->attributes->get('_fullRedirect'));
 }
 function it_updates_user_last_login_on_security_interactive_login(ObjectManager $userManager, InteractiveLoginEvent $event, TokenInterface $token, UserInterface $user)
 {
     $event->getAuthenticationToken()->willReturn($token);
     $token->getUser()->willReturn($user);
     $user->setLastLogin(Argument::type(\DateTime::class))->shouldBeCalled();
     $userManager->persist($user)->shouldBeCalled();
     $userManager->flush()->shouldBeCalled();
     $this->onSecurityInteractiveLogin($event);
 }