Пример #1
0
 /**
  * @param int $userId
  * @return AnonymusUserVO|UserVO
  */
 private function loadUser(int $userId) : UserVO
 {
     if ($userId > 0) {
         try {
             return $this->loadUser->loadUserById($userId);
         } catch (UserNotFoundException $e) {
         }
     }
     return new AnonymusUserVO();
 }
Пример #2
0
 /**
  * @param string $token
  * @param SessionInterface $session
  * @return UserVO
  * @throws UserException
  */
 public function loginWithToken(string $token, SessionInterface $session) : UserVO
 {
     $tokenData = $this->token->getToken($token);
     if (empty($tokenData) || !in_array(self::TOKEN_LOGIN, $tokenData['roles'])) {
         throw new UserException('Invalid Token');
     }
     $userVo = $this->loadUser->loadUserById($tokenData['userId']);
     $authenticationVo = new AuthenticationDataVO($userVo, null, null);
     $this->handleLogin($session, $authenticationVo, $userVo);
     return $userVo;
 }
Пример #3
0
 /**
  * @param int $userId
  * @return bool
  */
 public function deleteUser(int $userId) : bool
 {
     try {
         $user = $this->loadUser->loadUserById($userId);
     } catch (UserNotFoundException $e) {
         return false;
     }
     $event = new DeleteUserEvent($user, DeleteUserEvent::DELETE);
     $this->dispatchEvent($event);
     $redis = $this->getRedis();
     $redis->hdel(self::REDIS_USER_NAMES, mb_strtolower($user->getUsername()));
     $redis->del($this->getKey($userId));
     return true;
 }