public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $userId = $token->getUser()->id;
     $forbidden = AuthenticationHelper::checkLoginForbidden($request);
     if ($forbidden['status'] == 'error') {
         $exception = new AuthenticationException($forbidden['message']);
         throw $exception;
     } else {
         $this->getUserService()->markLoginSuccess($userId, $request->getClientIp());
     }
     $sessionId = $request->getSession()->getId();
     //$sessionId = $this->createToken($request);
     $this->getUserService()->rememberLoginSessionId($userId, $sessionId);
     if ($request->isXmlHttpRequest()) {
         $content = array('success' => true);
         return new JsonResponse($content, 200);
     }
     if ($this->getAuthService()->hasPartnerAuth()) {
         $url = $this->httpUtils->generateUri($request, 'partner_login');
         $queries = array('goto' => $this->determineTargetUrl($request));
         $url = $url . '?' . http_build_query($queries);
         return $this->httpUtils->createRedirectResponse($request, $url);
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($request->isXmlHttpRequest()) {
         //todo:
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * {@inheritdoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($request->isXmlHttpRequest()) {
         return new JsonResponse(['success' => true, 'username' => $token->getUsername()]);
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * {@inheritDoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($request->isXmlHttpRequest()) {
         return new Response(json_encode(array('has_error' => false, 'username' => $token->getUser()->getUsername(), 'target_path' => $this->determineTargetUrl($request))));
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * {@inheritDoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $session = $request->getSession();
     $user = $token->getUser();
     $session->registerAccount($user, $request, $this);
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * This is called when an interactive authentication attempt succeeds. This
  * is called by authentication listeners inheriting from AbstractAuthenticationListener.
  * @param Request        $request
  * @param TokenInterface $token
  * @return Response The response to return
  */
 function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $user = $token->getUser();
     // This should actually be handle by the AuthenticationFailedHandler
     if (!$user->isAdmin()) {
         // can't go into admin
         $request->getSession()->set(SecurityContextInterface::AUTHENTICATION_ERROR, new AuthenticationException('User is not an admin.'));
         return $this->httpUtils->createRedirectResponse($request, 'admin_login');
     }
     \LoginAttempts::DeleteOldLoginAttempts();
     \LoginAttempts::ClearLoginAttemptsForIp();
     $zendAuth = \Zend_Auth::getInstance();
     $this->authAdapter->setUsername($user->getUsername())->setPassword($request->request->get('_password'))->setAdmin(true);
     $result = $zendAuth->authenticate($this->authAdapter);
     $OAuthtoken = $this->userService->loginUser($user, 'oauth_authorize');
     $session = $request->getSession();
     $session->set('_security_oauth_authorize', serialize($OAuthtoken));
     \Article::UnlockByUser($user->getId());
     $request->setLocale($request->request->get('login_language'));
     setcookie('NO_CACHE', '1', NULL, '/', '.' . $this->extractDomain($_SERVER['HTTP_HOST']));
     $user->setLastLogin(new \DateTime());
     $this->em->flush();
     if ($request->get('ajax') === 'true') {
         // close popup with login.
         return new Response("<script type=\"text/javascript\">window.parent.g_security_token = '" . \SecurityToken::GetToken() . "';window.parent.\$(window.parent.document.body).data('loginDialog').dialog('close');window.parent.setSecurityToken(window.parent.g_security_token);</script>");
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $user = $this->security->getToken()->getUser();
     $user->setWebSocketAuthKey(uniqid());
     $this->em->persist($user);
     $this->em->flush();
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * {@inheritDoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($request->isXmlHttpRequest()) {
         $json = array('ok' => true, 'username' => $token->getUsername());
         return new \Symfony\Component\HttpFoundation\JsonResponse($json);
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * @param Request $request
  * @param TokenInterface $token
  *
  * @return Response
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($request->isXmlHttpRequest()) {
         $content = array('success' => true);
         return new JsonResponse($content, 200);
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * {@inheritDoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($request->isXmlHttpRequest() || $request->getRequestFormat() !== 'html') {
         $json = array('username' => $token->getUsername(), 'redirectUrl' => $this->determineTargetUrl($request));
         return new Response(json_encode($json));
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * {@inheritdoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if (null !== ($user = $token->getUser())) {
         $user->setLastLogin(new \DateTime('now'));
         Kernel::getInstance()->getService('em')->flush();
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * Constructor
  * @param RouterInterface   $router
  * @param EntityManager     $em
  */
 public function __construct(RouterInterface $router, $options, EntityManager $em, Session $session, HttpUtils $httpUtils, NotificationsHelper $notificationsHelper)
 {
     parent::__construct($httpUtils, $options);
     $this->router = $router;
     $this->em = $em;
     $this->session = $session;
     $this->notificationsHelper = $notificationsHelper;
 }
示例#13
0
 /**
  * Checks if the user has actually filled in some mandatory data. If not, it redirects to the users'
  * profile page.
  *
  * {@inheritdoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($user = $token->getUser()) {
         if (!$user->getFirstName() || !$user->getLastName()) {
             return new RedirectResponse($this->router->generate('opifer_cms_user_profile'));
         }
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $meta = $this->databaseService->getMeta($token);
     $startCategory = $meta->get('startCategory');
     if (!empty($startCategory)) {
         return new RedirectResponse($this->router->generate('category', array('categorySlug' => $this->categoryService->generateUrlSlug($startCategory))));
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * {@inheritDoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($request->isXmlHttpRequest()) {
         $response = new JsonResponse(array('code' => 200, 'username' => $token->getUsername()));
     } else {
         $response = parent::onAuthenticationSuccess($request, $token);
     }
     return $response;
 }
 public function __construct(TokenStorageInterface $tokenStorage, NameUtils $nameUtils, CamdramUserProvider $camdramUserProvider, ExternalLoginUserProvider $externalUserProvider, UserLinker $userLinker, HttpUtils $httpUtils, $providerKey)
 {
     $this->tokenStorage = $tokenStorage;
     $this->nameUtils = $nameUtils;
     $this->camdramUserProvider = $camdramUserProvider;
     $this->externalUserProvider = $externalUserProvider;
     $this->userLinker = $userLinker;
     $this->setProviderKey($providerKey);
     parent::__construct($httpUtils, array());
 }
 /**
  * {@inheritDoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $session = $request->getSession();
     $user = $token->getUser();
     $session->set('admin_id', $user->getId());
     if (null != ($uiLocale = $this->prefService->getPrefForName($user->getId(), 'uiLocale'))) {
         $session->set('_locale', $uiLocale);
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * This is called when an interactive authentication attempt succeeds. This
  * is called by authentication listeners inheriting from AbstractAuthenticationListener.
  * @param Request        $request
  * @param TokenInterface $token
  *
  * @return Response
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $user = $token->getUser();
     $zendAuth = \Zend_Auth::getInstance();
     $this->authAdapter->setEmail($user->getEmail())->setPassword($request->request->get('password'));
     $zendAuth->authenticate($this->authAdapter);
     $OAuthtoken = $this->userService->loginUser($user, 'oauth_authorize');
     $session = $request->getSession();
     $session->set('_security_oauth_authorize', serialize($OAuthtoken));
     return parent::onAuthenticationSuccess($request, $token);
 }
 /**
  * {@inheritdoc}
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if (null !== ($user = $token->getUser())) {
         $user->setLastLogin(new \DateTime('now'));
         $this->em->flush();
     }
     $response = parent::onAuthenticationSuccess($request, $token);
     if (null !== $this->rememberMeServices) {
         $this->rememberMeServices->loginSuccess($request, $response, $token);
     }
     return $response;
 }
 /**
  * {@inheritdoc}
  *
  * Overrides event to add API token to the user's session.
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     /*
      * @var UserInterface Note this will return a ApiBundle\Entity\User instance; this dependence to ApiBundle
      *                    is due to the fact that this is the user class defined at the application
      *                    configuration level worry here.
      */
     $user = $token->getUser();
     $apiToken = $this->jwtManager->create($user);
     $request->getSession()->set('api_token', $apiToken);
     return parent::onAuthenticationSuccess($request, $token);
 }
 public function register(Application $app)
 {
     $app['login.controller'] = $app->share(function () use($app) {
         // TODO: Pass in arguments for view template and message template
         return new SmsLoginController($app['sms.handler'], null, null);
     });
     $app['security.authentication_listener.factory.sms'] = $app->protect(function ($name, $options) use($app) {
         $app['security.entry_point.' . $name . '.sms'] = $app->share(function () use($app, $options) {
             $loginPath = $app['url_generator']->generate('sms.login');
             $useForward = isset($options['use_forward']) ? $options['use_forward'] : false;
             return new FormAuthenticationEntryPoint($app, $app['security.http_utils'], $loginPath, $useForward);
         });
         $app['security.authentication_provider.' . $name . '.sms'] = $app->share(function () use($app, $name) {
             return new SmsAuthenticator($name, $app['session']->get('code'), $app['monolog']);
         });
         $app['security.authentication_listener.' . $name . '.sms'] = $app->share(function () use($app, $name, $options) {
             // Create fake route for login check
             $loginCheckPath = $app['url_generator']->generate('sms.login') . '/check';
             $options['check_path'] = $loginCheckPath;
             $app->match($loginCheckPath)->run(null)->bind(str_replace('/', '_', ltrim($loginCheckPath, '/')));
             // Set default form item names, if not provided
             $options['username_parameter'] = empty($options['username_parameter']) ? 'mobile' : $options['username_parameter'];
             $options['password_parameter'] = empty($options['password_parameter']) ? 'code' : $options['password_parameter'];
             if (!isset($app['security.authentication.success_handler.' . $name])) {
                 $app['security.authentication.success_handler.' . $name] = $app->share(function () use($name, $options, $app) {
                     $handler = new DefaultAuthenticationSuccessHandler($app['security.http_utils'], $options);
                     $handler->setProviderKey($name);
                     return $handler;
                 });
             }
             if (!isset($app['security.authentication.failure_handler.' . $name])) {
                 $app['security.authentication.failure_handler.' . $name] = $app->share(function () use($name, $options, $app) {
                     return new DefaultAuthenticationFailureHandler($app, $app['security.http_utils'], $options, $app['logger']);
                 });
             }
             return new UsernamePasswordFormAuthenticationListener($app['security.token_storage'], $app['security.authentication_manager'], isset($app['security.session_strategy.' . $name]) ? $app['security.session_strategy.' . $name] : $app['security.session_strategy'], $app['security.http_utils'], $name, $app['security.authentication.success_handler.' . $name], $app['security.authentication.failure_handler.' . $name], $options, $app['logger'], $app['dispatcher'], isset($options['with_csrf']) && $options['with_csrf'] && isset($app['form.csrf_provider']) ? $app['form.csrf_provider'] : null);
         });
         return ['security.authentication_provider.' . $name . '.sms', 'security.authentication_listener.' . $name . '.sms', 'security.entry_point.' . $name . '.sms', 'form'];
     });
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     if ($request->isXmlHttpRequest()) {
         $url = $this->determineTargetUrl($request);
         if (!preg_match('/http/', $url)) {
             $url = $request->getBaseUrl() . $url;
         }
         $data = array('url' => $url);
         $response = new \Symfony\Component\HttpFoundation\JsonResponse($data);
         return $response;
     } else {
         return parent::onAuthenticationSuccess($request, $token);
     }
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $lastUserPassword = $this->em->getRepository("ACSEOChangePasswordBundle:PasswordHistory")->findOneBy(array("user" => $token->getUser()), array("createdAt" => "DESC"), 1);
     $lastPasswordDate = $lastUserPassword->getCreatedAt();
     if ($lastPasswordDate->add(new \DateInterval($this->passwordExpireAfter)) > new \Datetime()) {
         $session = $request->getSession();
         $session->set("mustchangepassword", true);
         if ($this->enableFlashbagMessage) {
             $session->getFlashBag()->add("danger", "Votre mot de passe a expiré, vous devez en saisir un nouveau");
         }
         $response = new RedirectResponse($this->router->generate($this->changePasswordRoute));
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
示例#24
0
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     try {
         $password = $request->get('password');
         $user = $token->getUser();
         AuthSuccessHandler::encryptDataKeyAndPutIntoSession($request, $user, $password, $this->saltKey);
     } catch (Exception $e) {
         $request->getSession()->invalidate();
         throw new AccessDeniedException("Unexpected exception occurred.");
     }
     if ($request->isXmlHttpRequest()) {
         $redirectUrl = $request->getSession()->get('_security.main.target_path');
         return new Response('{' . '"user": {' . '"id":"' . $user->getId() . '",' . '"role":"' . $user->getRole() . '",' . '"username":"******",' . '"isReal":"' . ($user->isReal() ? '1' : '0') . '"' . '},' . '"url":"' . $redirectUrl . '"' . '}');
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $em = $this->container->get('doctrine')->getManager();
     $failureRepo = $em->getRepository('AppFrontBundle:Loginfailure');
     $failureRepo->removeFailures($token->getUser(), $request->server->get('REMOTE_ADDR'));
     if ($request->isXmlHttpRequest()) {
         $response = new JsonResponse(array('success' => true, 'username' => $token->getUsername()));
     } else {
         $referer = $request->getSession()->get('_security.' . $token->getProviderKey() . '.target_path');
         if ($referer) {
             $response = new RedirectResponse($referer);
         } else {
             $response = parent::onAuthenticationSuccess($request, $token);
         }
     }
     return $response;
 }
 /**
  * Connect the user to Vanilla and continue to the default behavior
  *
  * @param Request        $request
  * @param TokenInterface $token
  *
  * @return Response never null
  */
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $userManager = $this->vanillaKernel->getUserManager();
     $sessionManager = $this->vanillaKernel->getSessionManager();
     $vanillaUser = $userManager->findByUsername($token->getUsername());
     if ($vanillaUser) {
         $vanillaUserId = $vanillaUser;
     } else {
         $builtModel = $this->userTransformer->createVanillaUser($token->getUser());
         if (!$builtModel instanceof VanillaUser) {
             throw new \RuntimeException(sprintf('%s::createVanillaUser() must return a VanillaUser instance (%s given)', get_class($this->userTransformer), is_object($builtModel) ? get_class($builtModel) : gettype($builtModel)));
         }
         $vanillaUserId = $userManager->register($builtModel);
     }
     $sessionManager->login($vanillaUserId);
     $userManager->trackVisit($token->getUser());
     return parent::onAuthenticationSuccess($request, $token);
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     // $this->getUserService()->markLoginInfo();
     if ($request->isXmlHttpRequest()) {
         $content = array('success' => true);
         return new JsonResponse($content, 200);
     }
     $userId = $token->getUser()->id;
     $sessionId = $request->getSession()->getId();
     $this->getUserService()->rememberLoginSessionId($userId, $sessionId);
     if ($this->getAuthService()->hasPartnerAuth()) {
         $url = $this->httpUtils->generateUri($request, 'partner_login');
         $queries = array('goto' => $this->determineTargetUrl($request));
         $url = $url . '?' . http_build_query($queries);
         return $this->httpUtils->createRedirectResponse($request, $url);
     }
     return parent::onAuthenticationSuccess($request, $token);
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $timezone = $request->get('timezone');
     $token->getUser()->setTimezone($timezone);
     $session = $request->getSession();
     $session->set('timezone', $timezone);
     //date_default_timezone_set($timezone);
     if ($request->isXmlHttpRequest()) {
         $url = $this->determineTargetUrl($request);
         if (!preg_match('/http/', $url)) {
             $url = $request->getBaseUrl() . $url;
         }
         $data = array('url' => $url, 'success' => true);
         $response = new \Symfony\Component\HttpFoundation\JsonResponse($data);
         return $response;
     } else {
         return parent::onAuthenticationSuccess($request, $token);
     }
 }
 public function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $session = $request->getSession();
     $responseType = $session->get('responseType');
     $redirectUrl = $session->get('redirectUrl');
     // Если пришел response_type, то генерируем access token.
     if ($responseType !== null && $responseType == 'token') {
         $accessToken = new AccessToken();
         $accessToken->setToken($this->tokenGenerator->generate());
         $accessToken->setExpiresAt(new \DateTime('now + 1 day'));
         $accessToken->setUser($token->getUser());
         $this->entityManager->persist($accessToken);
         $this->entityManager->flush();
         $session->remove('responseType');
         $session->remove('redirectUrl');
         $response = new RedirectResponse("{$redirectUrl}?access_token={$accessToken->getToken()}");
     } else {
         $response = parent::onAuthenticationSuccess($request, $token);
     }
     return $response;
 }
 /**
  * This is called when an interactive authentication attempt succeeds. This
  * is called by authentication listeners inheriting from AbstractAuthenticationListener.
  * @param Request $request
  * @param TokenInterface $token
  * @return Response The response to return
  */
 function onAuthenticationSuccess(Request $request, TokenInterface $token)
 {
     $form = $request->get('login_form_type');
     if (isset($form['username'])) {
         $vars = array('ip' => $request->getClientIp(), 'username' => $form['username']);
         $accessSession = $this->em->getRepository('LoginCidadaoCoreBundle:AccessSession')->findOneBy($vars);
         if (!$accessSession) {
             $accessSession = new AccessSession();
             $accessSession->fromArray($vars);
         }
         $accessSession->setVal(0);
         $this->em->persist($accessSession);
         $this->em->flush();
     }
     // CPF check
     if ($token->getUser()->isCpfExpired()) {
         return $this->httpUtils->createRedirectResponse($request, 'lc_registration_cpf');
     }
     if (strstr($token->getUser()->getUsername(), '@') !== false) {
         return $this->httpUtils->createRedirectResponse($request, 'lc_update_username');
     }
     return parent::onAuthenticationSuccess($request, $token);
 }