Exemple #1
0
 /**
  * @param User $user
  */
 public function soapInit($user)
 {
     $this->id = $user->id;
     $this->username = $user->username;
     $this->email = $user->email;
     $this->namePrefix = $user->namePrefix;
     $this->firstName = $user->firstName;
     $this->middleName = $user->middleName;
     $this->lastName = $user->lastName;
     $this->nameSuffix = $user->nameSuffix;
     $this->birthday = $user->birthday;
     $this->enabled = $user->enabled;
     $this->plainPassword = $user->plainPassword;
     $this->lastLogin = $user->lastLogin;
     $this->owner = $user->owner ? $user->owner->getId() : null;
     $this->roles = array();
     foreach ($user->getRoles() as $role) {
         $this->roles[] = $role->getId();
     }
     $this->groups = array();
     foreach ($user->getGroups() as $group) {
         $this->groups[] = $group->getId();
     }
 }
 /**
  * Returns a list of ids of roles assigned ot user.
  *
  * @param User $user
  *
  * @return array Array of ids
  */
 protected function getUserRoleIds(User $user)
 {
     // Get ids of all user roles.
     $roles = $user->getRoles();
     $roleList = array_map(function ($value) {
         return $value->getId();
     }, $roles);
     return $roleList;
 }
 public function testGroups()
 {
     $user = new User();
     $role = new Role('ROLE_FOO');
     $group = new Group('Users');
     $group->addRole($role);
     $this->assertNotContains($role, $user->getRoles());
     $user->addGroup($group);
     $this->assertContains($group, $user->getGroups());
     $this->assertContains('Users', $user->getGroupNames());
     $this->assertTrue($user->hasRole($role));
     $this->assertTrue($user->hasGroup('Users'));
     $user->removeGroup($group);
     $this->assertFalse($user->hasRole($role));
 }
 /**
  * Switches the security context to the given user
  *
  * @param User $user
  *
  * @return TokenInterface|null The previous security token
  *
  * @throws \UnexpectedValueException
  * @throws AccessDeniedException
  */
 protected function impersonateUser(User $user)
 {
     $currentToken = $this->securityContext->getToken();
     if (!$currentToken instanceof OrganizationContextTokenInterface) {
         throw new \UnexpectedValueException('The current security token must be aware of the organization.');
     }
     $organization = $currentToken->getOrganizationContext();
     // check if new user has access to the current organization
     if (!$user->hasOrganization($organization)) {
         throw new AccessDeniedException();
     }
     $this->securityContext->setToken(new ImpersonationToken($user, $organization, $user->getRoles()));
     return $currentToken;
 }