getRoles() 공개 메소드

Returns the user roles.
public getRoles ( ) : Role[]
리턴 Role[] An array of Role instances.
 /**
  * {@inheritDoc}
  */
 public function getSecurityIdentities(TokenInterface $token)
 {
     $sids = array();
     // add user security identity
     $user = $token->getUser();
     if ($user instanceof AccountInterface) {
         $sids[] = UserSecurityIdentity::fromAccount($user);
     }
     // add all reachable roles
     foreach ($this->roleHierarchy->getReachableRoles($token->getRoles()) as $role) {
         $sids[] = new RoleSecurityIdentity($role);
     }
     // add built-in special roles
     if ($this->authenticationTrustResolver->isFullFledged($token)) {
         $sids[] = new RoleSecurityIdentity(AuthenticatedVoter::IS_AUTHENTICATED_FULLY);
         $sids[] = new RoleSecurityIdentity(AuthenticatedVoter::IS_AUTHENTICATED_REMEMBERED);
         $sids[] = new RoleSecurityIdentity(AuthenticatedVoter::IS_AUTHENTICATED_ANONYMOUSLY);
     } else {
         if ($this->authenticationTrustResolver->isRememberMe($token)) {
             $sids[] = new RoleSecurityIdentity(AuthenticatedVoter::IS_AUTHENTICATED_REMEMBERED);
             $sids[] = new RoleSecurityIdentity(AuthenticatedVoter::IS_AUTHENTICATED_ANONYMOUSLY);
         } else {
             if ($this->authenticationTrustResolver->isAnonymous($token)) {
                 $sids[] = new RoleSecurityIdentity(AuthenticatedVoter::IS_AUTHENTICATED_ANONYMOUSLY);
             }
         }
     }
     return $sids;
 }
예제 #2
0
 /**
  * Gets the original Token from a switched one.
  *
  * @param TokenInterface $token A switched TokenInterface instance
  *
  * @return TokenInterface|false The original TokenInterface instance, false if the current TokenInterface is not switched
  */
 protected function getOriginalToken(TokenInterface $token)
 {
     foreach ($token->getRoles() as $role) {
         if ($role instanceof SwitchUserRole) {
             return $role->getSource();
         }
     }
     return false;
 }
예제 #3
0
 protected function extractRoles(TokenInterface $token)
 {
     return $token->getRoles();
 }
예제 #4
0
 /**
  * {@inheritdoc}
  */
 protected function extractRoles(TokenInterface $token)
 {
     return $this->roleHierarchy->getReachableRoles($token->getRoles());
 }