getUserByUsername($this->username); if (!$user || !$user->validatePassword($this->password)) { $this->addError('password', 'Incorrect username or password.'); } } /** * Logs in a user using the provided username and password. * @return boolean whether the user is logged in successfully */ public function login() { if ($this->validate()) { $user = $this->getUserByUsername($this->username); Yii::$app->user->login($user, $this->rememberMe ? 3600*24*30 : 0); return true; } else { return false; } } /** * Finds user by username * * @param string $username * @return User|null */ private function getUserByUsername($username) { if ($this->_user === null) { $this->_user = User::findByUsername($username); } return $this->_user; } }