/** * Authenticates a user. * @return boolean whether authentication succeeds. */ public function authenticate() { //$user=User::model()->findByAttributes(array('username'=>$this->username)); $user = User::findByUsernameOrEmail($this->username); if ($user === null) { $this->errorCode = self::ERROR_USERNAME_INVALID; } else { if (!$user->validatePassword($this->password)) { $this->errorCode = self::ERROR_PASSWORD_INVALID; } else { $this->_id = $user->id; $this->username = $user->username; $this->errorCode = self::ERROR_NONE; } } return $this->errorCode == self::ERROR_NONE; }