Ejemplo n.º 1
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
 }
Ejemplo n.º 2
0
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     $password = $event->getRequest()->get('_password');
     if ($user instanceof UserInterface) {
         $this->generateKeyPair($user, $password);
         $event->getRequest()->getSession()->set('pkey', $this->getPrivateKey($user, $password));
     }
     unset($password);
 }
Ejemplo n.º 3
0
 /**
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     if ($event->getAuthenticationToken()->getUser() instanceof AccountUser) {
         $request = $event->getRequest();
         $request->attributes->set('_fullRedirect', true);
     }
 }
Ejemplo n.º 4
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();
     
     			//*/
     //}
 }
Ejemplo n.º 5
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());
 }
Ejemplo n.º 6
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());
     }
 }
 /**
  * Forcing the request locale if the user entity uses a custom locale that is set on the entity
  *
  * @param InteractiveLoginEvent $event
  */
 public function onLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     // Skipping login that is not coming from the backend User entity
     if (false == $user instanceof User) {
         return;
     }
     if ($locale = $user->getLocale()) {
         $event->getRequest()->setLocale($locale);
     }
     // Redirection on the first application to which the User has access
     $appRepo = $this->doctrine->getRepository('UnifikSystemBundle:App');
     $apps = $appRepo->findAllHasAccess($this->securityContext, $user->getId());
     if ($apps && !in_array($apps[0]->getId(), array(AppRepository::FRONTEND_APP_ID, AppRepository::BACKEND_APP_ID))) {
         $event->getRequest()->request->set('_target_path', $this->router->generate('unifik_system_backend_switch_managed_app', array('appSlug' => $apps[0]->getSlug()), UrlGeneratorInterface::ABSOLUTE_URL));
     }
 }
Ejemplo n.º 8
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);
     }
 }
Ejemplo n.º 9
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());
     }
 }
Ejemplo n.º 10
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();
 }
 /**
  * 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 onFormLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if (is_object($user)) {
         $perfils = $user->getPerfils();
         $this->setPerfilId($event->getRequest(), $perfils);
     }
 }
Ejemplo n.º 13
0
 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();
     }
 }
Ejemplo n.º 14
0
 /**
  * Listens in the login form saving in the session the username and the plain password.
  *
  * @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event The interactive login event
  */
 public function onInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($user instanceof UserInterface) {
         $request = $event->getRequest();
         $request->getSession()->set('_email', $request->request->get('_username'));
         $request->getSession()->set('_password', $request->request->get('_password'));
         $this->onAuthorizationEvent(new AuthorizationEvent($request));
     }
 }
Ejemplo n.º 15
0
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     if ($this->get('nyrocms_db')->isA($user, 'user') && method_exists($event->getAuthenticationToken(), 'getProviderKey')) {
         $userLogin = $this->get('nyrocms_db')->getNew('user_login');
         /* @var $userLogin \NyroDev\NyroCmsBundle\Model\UserLogin */
         $userLogin->setUser($user);
         $userLogin->setIpAddress($event->getRequest()->getClientIp());
         $userLogin->setPlace($event->getAuthenticationToken()->getProviderKey());
         $this->get('nyrocms_db')->flush();
     }
 }
 /**
  * Listen for successful login events
  *
  * @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $request = $event->getRequest();
     // Check if security token is supported
     $token = $event->getAuthenticationToken();
     if (!$this->isTokenSupported($token)) {
         return;
     }
     // Forward to two-factor providers
     // They decide if they will do two-factor authentication
     $context = new AuthenticationContext($request, $token);
     $this->authHandler->beginAuthentication($context);
 }
Ejemplo n.º 17
0
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $this->em->find('ClubUserBundle:User', $this->security_context->getToken()->getUser()->getId());
     $user->setLastLoginTime(new \DateTime());
     $user->setLastLoginIp($event->getRequest()->getClientIp());
     if (!strlen($user->getApiHash())) {
         $user->setApiHash($user->generateKey());
     }
     $this->em->persist($user);
     $login = new \Club\UserBundle\Entity\LoginAttempt();
     $login->setUsername($user->getUsername());
     $login->setSession(session_id());
     $login->setIpAddress($event->getRequest()->getClientIp());
     $login->setHostname(gethostbyaddr($event->getRequest()->getClientIp()));
     $login->setLoginFailed(0);
     $this->em->persist($login);
     $this->em->flush();
     $this->setLocation($event);
     $this->setLocale($event);
     $this->checkin($event);
     $reset = $this->em->createQueryBuilder()->select('r')->from('ClubUserBundle:ResetPassword', 'r')->where('r.user = :user')->setParameter('user', $user->getId())->getQuery()->getOneOrNullResult();
 }
Ejemplo n.º 18
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 \Application\Sonata\UserBundle\Entity\User $user  */
     $user = $event->getAuthenticationToken()->getUser();
     $request = $event->getRequest();
     if ($user->getLocale() != $request->getLocale() and $user->getLocale() !== null) {
         $request->setLocale($user->getLocale());
     } else {
         if (is_null($user->getLocale())) {
             $user->setLocale($request->getLocale());
         }
     }
 }
Ejemplo n.º 19
0
 /**
  * @param \Symfony\Component\Security\Http\Event\InteractiveLoginEvent $event
  *
  * @return
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     if (!$event->getAuthenticationToken() instanceof UsernamePasswordToken) {
         return;
     }
     $token = $event->getAuthenticationToken();
     if (!$token->getUser() instanceof UserInterface) {
         return;
     }
     if (!$token->getUser()->getTwoStepVerificationCode()) {
         return;
     }
     $event->getRequest()->getSession()->set($this->helper->getSessionKey($token), null);
 }
 /**
  * Listen for successful login events.
  *
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $request = $event->getRequest();
     // Skip two-factor authentication for whitelisted IPs
     if (in_array($request->getClientIp(), $this->ipWhitelist)) {
         return;
     }
     // Check if security token is supported
     $token = $event->getAuthenticationToken();
     if (!$this->isTokenSupported($token)) {
         return;
     }
     // Forward to two-factor providers
     // They decide if they will do two-factor authentication
     $context = $this->authenticationContextFactory->create($request, $token);
     $this->authHandler->beginAuthentication($context);
 }
Ejemplo n.º 21
0
 /**
  *
  * @param  InteractiveLoginEvent $event
  * @return void
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $request = $event->getRequest();
     $token = $event->getAuthenticationToken();
     if ($token && $token->getUser() instanceof User) {
         /* @var $user User */
         // save last login
         $user = $token->getUser();
         $user->setLastlogin(new \DateTime());
         $this->em->persist($user);
         //log as eventlog
         $event = new EventLog();
         $event->setEventInfo(UserEventLogParams::$USER_LOGIN);
         $event->setIp($request->getClientIp());
         $event->setUserId($user->getId());
         $this->em->persist($event);
         $this->em->flush();
     }
 }
Ejemplo n.º 22
0
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $userid = $event->getAuthenticationToken()->getUser()->getId();
     $user = $this->em->getRepository('FpUserBundle:User')->find($userid);
     //$id_struttura = $user->getStruttura()->getId();
     //$struttura = $this->em->getRepository('FpCommonsBundle:Struttura')->find($id_struttura);
     //$id_struttura_reg = $user->getStruttura()->getIdStrutturaRegionale();
     // $desc_struttura = $user->getStruttura()->getDenominazione();
     //        $liv_struttura  = $user->getStruttura()->getLivello();
     //        $anno_corrente = new \DateTime();
     //
     $session = $event->getRequest()->getSession();
     $session->set('userid', $userid);
     //        $session->set('id_struttura', $id_struttura);
     //        $session->set('id_struttura_reg', $user->getStruttura()->getIdStrutturaRegionale()->getId());
     //        $session->set('desc_struttura', $desc_struttura);
     //        $session->set('liv_struttura', $liv_struttura);
     //        $session->set('anno_corrente', $anno_corrente->format('Y'));
 }
Ejemplo n.º 23
0
 /**
  * Do the magic.
  *
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     // var_dump("aaaaa");exit();
     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
     $user = $event->getAuthenticationToken()->getUser();
     // ...
     $this->getUserService()->markLoginInfo();
     $request = $event->getRequest();
     $sessionId = $request->getSession()->getId();
     $request->getSession()->set('loginIp', $request->getClientIp());
     $this->getUserService()->rememberLoginSessionId($user['id'], $sessionId);
     $this->getUserService()->markLoginSuccess($user['id'], $request->getClientIp());
 }
Ejemplo n.º 24
0
 function it_listens_interactive_login(InteractiveLoginEvent $interactiveLoginEvent, TokenInterface $token, UserInterface $user, Request $request, SessionInterface $session, ParameterBagInterface $parameterBag, ClientManagerInterface $clientManager, ClientInterface $client, OAuth2 $oauthServer, Response $response)
 {
     $interactiveLoginEvent->getAuthenticationToken()->shouldBeCalled()->willReturn($token);
     $token->getUser()->shouldBeCalled()->willReturn($user);
     $interactiveLoginEvent->getRequest()->shouldBeCalled()->willReturn($request);
     $parameterBag->get('_username')->shouldBeCalled()->willReturn('*****@*****.**');
     $parameterBag->get('_password')->shouldBeCalled()->willReturn('123456');
     $request->request = $parameterBag;
     $request->getSession()->shouldBeCalled()->willReturn($session);
     $session->set('_email', '*****@*****.**')->shouldBeCalled();
     $session->set('_password', '123456')->shouldBeCalled();
     $clientManager->findClientBy(['secret' => 'client-secret'])->shouldBeCalled()->willReturn($client);
     $client->getId()->shouldBeCalled()->willReturn('the-id');
     $client->getRandomId()->shouldBeCalled()->willReturn('random-id');
     $session->get('_email')->shouldBeCalled()->willReturn('*****@*****.**');
     $session->get('_password')->shouldBeCalled()->willReturn('123456');
     $oauthServer->grantAccessToken(Argument::type('Symfony\\Component\\HttpFoundation\\Request'))->shouldBeCalled()->willReturn($response);
     $response->getContent()->shouldBeCalled()->willReturn('the response content');
     $session->remove('_email')->shouldBeCalled()->willReturn('*****@*****.**');
     $session->remove('_password')->shouldBeCalled()->willReturn('123456');
     $session->replace(['access_token' => null, 'refresh_token' => null])->shouldBeCalled();
     $this->onInteractiveLogin($interactiveLoginEvent);
 }
Ejemplo n.º 25
0
 /**
  * Set vars on login.
  *
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     if (defined('MAUTIC_INSTALLER')) {
         return;
     }
     $session = $event->getRequest()->getSession();
     if ($this->securityContext->isGranted('IS_AUTHENTICATED_FULLY') || $this->securityContext->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
         $user = $event->getAuthenticationToken()->getUser();
         //set a session var for filemanager to know someone is logged in
         $session->set('mautic.user', $user->getId());
         //mark the user as last logged in
         $user = $this->userHelper->getUser();
         if ($user instanceof User) {
             $this->userModel->setOnlineStatus('online');
             $this->userModel->getRepository()->setLastLogin($user);
             // Set the timezone and locale in session while we have it since Symfony dispatches the onKernelRequest prior to the
             // firewall setting the known user
             $tz = $user->getTimezone();
             if (empty($tz)) {
                 $tz = $this->params['default_timezone'];
             }
             $session->set('_timezone', $tz);
             $locale = $user->getLocale();
             if (empty($locale)) {
                 $locale = $this->params['locale'];
             }
             $session->set('_locale', $locale);
         }
         //dispatch on login events
         if ($this->dispatcher->hasListeners(UserEvents::USER_LOGIN)) {
             $event = new LoginEvent($this->userHelper->getUser());
             $this->dispatcher->dispatch(UserEvents::USER_LOGIN, $event);
         }
     } else {
         $session->remove('mautic.user');
     }
     //set a couple variables used by filemanager
     $session->set('mautic.docroot', $event->getRequest()->server->get('DOCUMENT_ROOT'));
     $session->set('mautic.basepath', $event->getRequest()->getBasePath());
     $session->set('mautic.imagepath', $this->coreParametersHelper->getParameter('image_path'));
 }
Ejemplo n.º 26
0
 /**
  * @param InteractiveLoginEvent $event
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     $user = $event->getAuthenticationToken()->getUser();
     $event->getRequest()->getSession()->set('_locale', $user->getUiLocale()->getLanguage());
 }
Ejemplo n.º 27
0
 /**
  * Set vars on login
  *
  * @param InteractiveLoginEvent $event
  *
  * @return void
  */
 public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
 {
     if (defined('MAUTIC_INSTALLER')) {
         return;
     }
     $session = $event->getRequest()->getSession();
     $securityContext = $this->factory->getSecurityContext();
     if ($securityContext->isGranted('IS_AUTHENTICATED_FULLY') || $securityContext->isGranted('IS_AUTHENTICATED_REMEMBERED')) {
         $user = $event->getAuthenticationToken()->getUser();
         //set a session var for filemanager to know someone is logged in
         $session->set('mautic.user', $user->getId());
         //mark the user as last logged in
         $user = $this->factory->getUser();
         if ($user instanceof User) {
             /** @var \Mautic\UserBundle\Model\UserModel $userModel */
             $userModel = $this->factory->getModel('user');
             $userModel->setOnlineStatus('online');
             $userModel->getRepository()->setLastLogin($user);
         }
         //dispatch on login events
         $dispatcher = $this->factory->getDispatcher();
         if ($dispatcher->hasListeners(UserEvents::USER_LOGIN)) {
             $event = new LoginEvent($this->factory);
             $dispatcher->dispatch(UserEvents::USER_LOGIN, $event);
         }
     } else {
         $session->remove('mautic.user');
     }
     //set a couple variables used by Ckeditor's filemanager
     $session->set('mautic.basepath', $event->getRequest()->getBasePath());
     $session->set('mautic.imagepath', $this->factory->getParameter('image_path'));
 }
Ejemplo n.º 28
0
 /**
  * Return the request object.
  *
  * @access protected
  * @return \Symfony\Component\HttpFoundation\Request
  * @author Etienne de Longeaux <*****@*****.**>
  */
 protected function getRequest()
 {
     return $this->event->getRequest();
 }
 /** @public */
 public function on_interactive_login_appiaries(InteractiveLoginEvent $event)
 {
     $app =& $this->app;
     $em =& $this->em;
     $token = $event->getAuthenticationToken();
     $user = $token->getUser();
     $request = $event->getRequest();
     $device_id = $request->get('login_device_id');
     $os = $request->get('login_os');
     if (!isset($os)) {
         $os = 0;
     } else {
         $os = $os == 'ios' ? 1 : 2;
     }
     $key_list = array('id', 'name', 'kana', 'company', 'zip', 'address', 'email', 'tel', 'fax', 'birth', 'purchase_first', 'purchase_last', 'purchase_count', 'purchase_total', 'note', 'created', 'updated', 'del');
     if (isset($device_id) && $user instanceof \Eccube\Entity\Customer) {
         $device = new \Plugin\Appiaries\Entity\AppiariesDevices();
         try {
             $tmp = array();
             $tmp['id'] = $user->getId();
             $name = array();
             $name[] = $user->getName01();
             $name[] = $user->getName02();
             if (count($name)) {
                 $tmp['name'] = implode(' ', $name);
             }
             $kana = array();
             $kana[] = $user->getKana01();
             $kana[] = $user->getKana02();
             if (count($kana)) {
                 $tmp['kana'] = implode(' ', $kana);
             }
             $tmp['company'] = $user->getCompanyName();
             $zip = $user->getZip01();
             if (isset($zip)) {
                 $zip2 = $user->getZip02();
                 if (isset($zip2)) {
                     $zip .= '-' . $zip2;
                 }
                 $tmp['zip'] = $zip;
             }
             $address = $user->getAddr01();
             if (isset($address)) {
                 $address2 = $user->getAddr02();
                 if (isset($address2)) {
                     $address .= '-' . $address2;
                 }
                 $tmp['address'] = $address;
             }
             $tel = $user->getTel01();
             if (isset($tel)) {
                 $tel2 = $user->getTel02();
                 $tel3 = $user->getTel03();
                 if (isset($tel2)) {
                     $tel .= '-' . $tel2;
                 }
                 if (isset($tel3)) {
                     $tel .= '-' . $tel3;
                 }
                 $tmp['tel'] = $tel;
             }
             $fax = $user->getFax01();
             if (isset($fax)) {
                 $fax2 = $user->getFax02();
                 $fax3 = $user->getFax03();
                 if (isset($fax2)) {
                     $fax .= '-' . $fax2;
                 }
                 if (isset($fax3)) {
                     $fax .= '-' . $fax3;
                 }
                 $tmp['fax'] = $fax;
             }
             $tmp['birth'] = $user->getBirth();
             $tmp['purchase_first'] = $user->getFirstBuyDate();
             $tmp['purchase_last'] = $user->getLastBuyDate();
             $tmp['purchase_count'] = $user->getBuyTimes();
             $tmp['purchase_total'] = $user->getBuyTotal();
             $tmp['note'] = $user->getNote();
             $tmp['created'] = $user->getCreateDate();
             $tmp['updated'] = $user->getUpdateDate();
             $tmp['del'] = $user->getDelFlg() ? true : false;
             $data = array();
             foreach ($key_list as $key) {
                 if (isset($tmp[$key])) {
                     if (preg_match('/^(?:birth|purchase_first|purchase_last|created|updated)$/', $key)) {
                         $data[$key] = $key == 'birth' ? $tmp[$key]->format('Y-m-d') : $tmp[$key]->format('Y-m-d H:i:s');
                     } else {
                         $data[$key] = $tmp[$key];
                     }
                 }
             }
             $device->setCustomer($user);
             // "customer_id" will be automatically set.
             $device->setOs($os);
             $device->setDeviceId($device_id);
             $device->setAttr(json_encode($data));
             $res = $app['eccube.plugin.appiaries.repository.devices']->save($device);
         } catch (\Exception $e) {
             error_log($e->getMessage());
         }
     }
 }
 /**
  * Throws an UnauthorizedSiteAccessException if current user doesn't have permission to current SiteAccess.
  *
  * @param BaseInteractiveLoginEvent $event
  *
  * @throws \eZ\Publish\Core\MVC\Symfony\Security\Exception\UnauthorizedSiteAccessException
  */
 public function checkSiteAccessPermission(BaseInteractiveLoginEvent $event)
 {
     $token = $event->getAuthenticationToken();
     $originalUser = $token->getUser();
     $request = $event->getRequest();
     $siteAccess = $request->attributes->get('siteaccess');
     if (!($originalUser instanceof eZUser && $siteAccess instanceof SiteAccess)) {
         return;
     }
     if (!$this->hasAccess($siteAccess, $originalUser->getUsername())) {
         throw new UnauthorizedSiteAccessException($siteAccess, $originalUser->getUsername());
     }
 }