当前位置: 首页>>代码示例>>PHP>>正文


PHP AuthenticationException::getPrevious方法代码示例

本文整理汇总了PHP中Symfony\Component\Security\Core\Exception\AuthenticationException::getPrevious方法的典型用法代码示例。如果您正苦于以下问题:PHP AuthenticationException::getPrevious方法的具体用法?PHP AuthenticationException::getPrevious怎么用?PHP AuthenticationException::getPrevious使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Symfony\Component\Security\Core\Exception\AuthenticationException的用法示例。


在下文中一共展示了AuthenticationException::getPrevious方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: onAuthenticationFailure

 public function onAuthenticationFailure(Request $request, AuthenticationException $exception)
 {
     $targetPath = $this->failureDefault;
     $this->logger->debug('Authentication failure handled by ' . __CLASS__, [$exception, $exception->getPrevious(), $exception->getToken()]);
     if ($exception instanceof BadCredentialsException && $exception->getPrevious() instanceof UsernameNotFoundException && $exception->getToken() instanceof Token && $exception->getToken()->getRoles()[0]->getRole() == ThirdPartyAuthentication::IDENTIFIED) {
         $this->logger->info('Go to register');
         $targetPath = 'guest_register';
         $request->getSession()->set(self::IDENTIFIED_TOKEN, $exception->getToken());
     } else {
         $request->getSession()->set(SecurityContextInterface::AUTHENTICATION_ERROR, $exception);
     }
     return $this->httpUtils->createRedirectResponse($request, $targetPath);
 }
开发者ID:xtrasmal,项目名称:iinano,代码行数:13,代码来源:NotRegisteredHandler.php

示例2: onAuthenticationFailure

 public function onAuthenticationFailure(Request $request, AuthenticationException $exception)
 {
     $targetPath = $this->failureDefault;
     $token = $exception->getToken();
     $this->logger->debug('Authentication failure handled by ' . __CLASS__, [$exception, $exception->getPrevious(), $token]);
     if ($exception instanceof BadCredentialsException && $exception->getPrevious() instanceof UsernameNotFoundException && $token instanceof Token && $token->getRoles()[0]->getRole() == ThirdPartyAuthentication::IDENTIFIED) {
         $this->logger->info('Autoregister');
         // create new user, persist and authenticate
         $user = $this->repository->create($token->getUserUniqueIdentifier(), $token->getProviderKey(), $token->getAttribute('nickname'));
         $newToken = new Token($token->getFirewallName(), $token->getProviderKey(), $token->getUserUniqueIdentifier(), $user->getRoles());
         $this->repository->persist($user);
         $newToken->setUser($user);
         $this->security->setToken($newToken);
         return $this->successLoginHandler->onAuthenticationSuccess($request, $newToken);
     }
     $request->getSession()->set(SecurityContextInterface::AUTHENTICATION_ERROR, $exception);
     return $this->httpUtils->createRedirectResponse($request, $targetPath);
 }
开发者ID:Trismegiste,项目名称:portal-iinano,代码行数:18,代码来源:AutoRegisterFailureHandler.php


注:本文中的Symfony\Component\Security\Core\Exception\AuthenticationException::getPrevious方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。