當前位置: 首頁>>代碼示例>>PHP>>正文


PHP UsernamePasswordToken::setAttributes方法代碼示例

本文整理匯總了PHP中Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken::setAttributes方法的典型用法代碼示例。如果您正苦於以下問題:PHP UsernamePasswordToken::setAttributes方法的具體用法?PHP UsernamePasswordToken::setAttributes怎麽用?PHP UsernamePasswordToken::setAttributes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken的用法示例。


在下文中一共展示了UsernamePasswordToken::setAttributes方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: authenticate

 /**
  * {@inheritdoc}
  */
 public function authenticate(TokenInterface $token)
 {
     if (!$this->supports($token)) {
         return;
     }
     $username = $token->getUsername();
     if (empty($username)) {
         $username = 'NONE_PROVIDED';
     }
     try {
         $user = $this->retrieveUser($username, $token);
     } catch (UsernameNotFoundException $notFound) {
         if ($this->hideUserNotFoundExceptions) {
             throw new BadCredentialsException('Bad credentials', 0, $notFound);
         }
         $notFound->setUsername($username);
         throw $notFound;
     }
     if (!$user instanceof UserInterface) {
         throw new AuthenticationServiceException('retrieveUser() must return a UserInterface.');
     }
     try {
         $this->userChecker->checkPreAuth($user);
         $this->checkAuthentication($user, $token);
         $this->userChecker->checkPostAuth($user);
     } catch (BadCredentialsException $e) {
         if ($this->hideUserNotFoundExceptions) {
             throw new BadCredentialsException('Bad credentials', 0, $e);
         }
         throw $e;
     }
     $authenticatedToken = new UsernamePasswordToken($user, $token->getCredentials(), $this->providerKey, $this->getRoles($user, $token));
     $authenticatedToken->setAttributes($token->getAttributes());
     return $authenticatedToken;
 }
開發者ID:GeorgeBroadley,項目名稱:caffeine-vendor,代碼行數:38,代碼來源:UserAuthenticationProvider.php

示例2: authenticate

 /**
  * {@inheritdoc}
  */
 public function authenticate(TokenInterface $token)
 {
     if (!$this->supports($token)) {
         return null;
     }
     $username = null === $token->getUser() ? 'NONE_PROVIDED' : (string) $token;
     try {
         $user = $this->retrieveUser($username, $token);
         if (!$user instanceof AccountInterface) {
             throw new AuthenticationServiceException('retrieveUser() must return an AccountInterface.');
         }
         $this->accountChecker->checkPreAuth($user);
         $this->checkAuthentication($user, $token);
         $this->accountChecker->checkPostAuth($user);
         $authenticatedToken = new UsernamePasswordToken($user, $token->getCredentials(), $this->providerKey, $user->getRoles());
         $authenticatedToken->setAttributes($token->getAttributes());
         return $authenticatedToken;
     } catch (UsernameNotFoundException $notFound) {
         if ($this->hideUserNotFoundExceptions) {
             throw new BadCredentialsException('Bad credentials', 0, $notFound);
         }
         throw $notFound;
     }
 }
開發者ID:rooster,項目名稱:symfony,代碼行數:27,代碼來源:UserAuthenticationProvider.php

示例3: ldapAuthenticate

 /**
  * Authentication logic to allow Ldap user
  *
  * @param \IMAG\LdapBundle\User\LdapUserInterface  $user
  * @param TokenInterface $token
  *
  * @return \Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken $token
  */
 private function ldapAuthenticate(LdapUserInterface $user, TokenInterface $token)
 {
     // provide credential to LdapUserEvent
     $userEvent = new LdapUserEvent($user, $token->getCredentials());
     if (null !== $this->dispatcher) {
         try {
             $this->dispatcher->dispatch(LdapEvents::PRE_BIND, $userEvent);
         } catch (AuthenticationException $expt) {
             if ($this->hideUserNotFoundExceptions) {
                 throw new BadCredentialsException('Bad credentials', 0, $expt);
             }
             throw $expt;
         }
     }
     $this->bind($user, $token);
     if (null === $user->getDn()) {
         $user = $this->reloadUser($user);
     }
     if (null !== $this->dispatcher) {
         // provide credential to LdapUserEvent
         $userEvent = new LdapUserEvent($user, $token->getCredentials());
         try {
             $this->dispatcher->dispatch(LdapEvents::POST_BIND, $userEvent);
         } catch (AuthenticationException $authenticationException) {
             if ($this->hideUserNotFoundExceptions) {
                 throw new BadCredentialsException('Bad credentials', 0, $authenticationException);
             }
             throw $authenticationException;
         }
     }
     $token = new UsernamePasswordToken($userEvent->getUser(), null, $this->providerKey, $userEvent->getUser()->getRoles());
     $token->setAttributes($token->getAttributes());
     return $token;
 }
開發者ID:BernardDebord,項目名稱:LdapBundle,代碼行數:42,代碼來源:LdapAuthenticationProvider.php

示例4: authenticate

 /**
  * @param TokenInterface $token
  * @return null|UsernamePasswordToken
  */
 public function authenticate(TokenInterface $token)
 {
     if (!$this->supports($token)) {
         return null;
     }
     $adminUsername = $token->getUsername();
     if ($token->hasAttribute('desired_user')) {
         $username = $token->getAttribute('desired_user');
     }
     try {
         $adminUser = $this->retrieveUser($adminUsername, $token);
         $user = empty($username) ? $adminUser : $this->retrieveUser($username, $token);
     } catch (UsernameNotFoundException $notFound) {
         if ($this->hideUserNotFoundException) {
             throw new BadCredentialsException('Bad credentials', 0, $notFound);
         }
         throw $notFound;
     }
     if (!$adminUser instanceof UserInterface) {
         throw new AuthenticationServiceException('retrieveUser() must return a UserInterface.');
     }
     try {
         $this->userChecker->checkPreAuth($user);
         $this->checkAuthentication($adminUser, $token);
         $this->userChecker->checkPostAuth($user);
     } catch (BadCredentialsException $e) {
         if ($this->hideUserNotFoundException) {
             throw new BadCredentialsException('Bad credentials', 0, $e);
         }
         throw $e;
     }
     $attributes = $token->getAttributes();
     $roles = $user->getRoles();
     if ($token->hasAttribute('desired_user')) {
         $roles[] = new SwitchUserRole('ROLE_PREVIOUS_ADMIN', new UsernamePasswordToken($adminUser, $adminUser->getPassword(), $this->providerKey, $adminUser->getRoles()));
         unset($attributes['desired_user']);
     }
     $authenticatedToken = new UsernamePasswordToken($user, $user->getPassword(), $this->providerKey, $roles);
     $authenticatedToken->setAttributes($attributes);
     return $authenticatedToken;
 }
開發者ID:NobletSolutions,項目名稱:SecurityBundle,代碼行數:45,代碼來源:AdminAuthenticationProvider.php

示例5: doAuthentication

 /**
  * @param UserInterface $user
  * @param TokenInterface $token
  * @return UsernamePasswordToken
  */
 protected function doAuthentication(UserInterface $user, TokenInterface $token)
 {
     $auth = (new AuthenticationOperation())->setUsername($user->getUsername())->setPassword($token->getCredentials());
     /** @var AuthenticationResponse $response */
     $response = $this->ldap->getConnection()->execute($auth);
     if (!$response->isAuthenticated()) {
         $this->userChecker->checkLdapErrorCode($user, $response->getErrorCode(), $this->ldap->getConnection()->getConfig()->getLdapType());
         throw new BadCredentialsException($response->getErrorMessage(), $response->getErrorCode());
     }
     $this->dispatcher->dispatch(LdapLoginEvent::SUCCESS, new LdapLoginEvent($user, $token));
     $newToken = new UsernamePasswordToken($user, null, $this->providerKey, $user->getRoles());
     $newToken->setAttributes($token->getAttributes());
     return $newToken;
 }
開發者ID:ldaptools,項目名稱:ldaptools-bundle,代碼行數:19,代碼來源:LdapAuthenticationProvider.php

示例6: imapAuthenticate

 /**
  * Authentication logic to allow IMAP user
  *
  * @param Symfony\Component\Security\Core\User\UserInterface  $user
  * @param Symfony\Component\Security\Core\Authentication\Token\TokenInterface  $token
  *
  * @return \Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken  $token
  */
 private function imapAuthenticate(UserInterface $user, TokenInterface $token)
 {
     $userEvent = new ImapUserEvent($user);
     if (null !== $this->dispatcher) {
         try {
             $this->dispatcher->dispatch(ImapEvents::PRE_BIND, $userEvent);
         } catch (AuthenticationException $exception) {
             $this->throwBadCredentialsException($exception);
         }
     }
     $this->bind($user, $token);
     if (null === $user->getUsername()) {
         $user = $this->reloadUser($user);
     }
     if (null !== $this->dispatcher) {
         $userEvent = new ImapUserEvent($user);
         try {
             $this->dispatcher->dispatch(ImapEvents::POST_BIND, $userEvent);
         } catch (AuthenticationException $exception) {
             $this->throwBadCredentialsException($exception);
         }
     }
     $authenticatedToken = new UsernamePasswordToken($userEvent->getUser(), null, $this->providerKey, $userEvent->getUser()->getRoles());
     $authenticatedToken->setAttributes($token->getAttributes());
     return $authenticatedToken;
 }
開發者ID:rejsmont,項目名稱:LabDB,代碼行數:34,代碼來源:ImapAuthenticationProvider.php


注:本文中的Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken::setAttributes方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。