/** * 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 }
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); }
/** * @param InteractiveLoginEvent $event */ public function onSecurityInteractiveLogin(InteractiveLoginEvent $event) { if ($event->getAuthenticationToken()->getUser() instanceof AccountUser) { $request = $event->getRequest(); $request->attributes->set('_fullRedirect', true); } }
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(); //*/ //} }
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()); }
/** * 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)); } }
/** * @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); } }
/** * 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()); } }
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); } }
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(); } }
/** * 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)); } }
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); }
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(); }
/** * 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()); } } }
/** * @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); }
/** * * @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(); } }
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')); }
/** * 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()); }
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); }
/** * 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')); }
/** * @param InteractiveLoginEvent $event */ public function onSecurityInteractiveLogin(InteractiveLoginEvent $event) { $user = $event->getAuthenticationToken()->getUser(); $event->getRequest()->getSession()->set('_locale', $user->getUiLocale()->getLanguage()); }
/** * 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')); }
/** * 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()); } }