Exemplo n.º 1
0
 /**
  * @return User|false Current logged in user
  */
 public function getUser()
 {
     if ($this->user !== null) {
         return $this->user;
     }
     $rememberToken = false;
     if (!($uid = Session::get($this->sessionKey . '.uid'))) {
         if ($rememberToken = $this->getRememberTokenFromCookie()) {
             $uid = substr($rememberToken, 32);
         } else {
             return $this->user = false;
         }
     }
     /* @var User $userModel */
     $userModel = $this->userModel;
     if (!($this->user = $userModel::findFirstSimple([$this->uidKey => $uid]))) {
         Session::clear();
     }
     if ($this->user && $rememberToken) {
         if (!method_exists($this->user, 'getRememberToken') || $this->user->getRememberToken() != $rememberToken) {
             $this->user = null;
             Session::clear();
         } else {
             $this->setUserAsLoggedIn($this->user);
         }
     }
     return $this->user;
 }