public function authenticate() { $user = UserCredentials::model()->findByAttributes(array('email_id' => $this->username)); if ($user === null) { $this->errorCode = self::ERROR_USERNAME_INVALID; } else { if ($user->status != 'ACTIVE') { $this->errorCode = self::ERROR_USERNAME_INACTIVE; } else { if (!SecurityUtils::comparePasswords($this->password, $user->salt, $user->password)) { $this->errorCode = self::ERROR_PASSWORD_INVALID; } else { $this->_username = $user->email_id; $this->setState('id', $user->id); $this->setState('emailId', $user->email_id); $this->setState('last_login_time', $user->last_login_time); $this->errorCode = self::ERROR_NONE; } } } return !$this->errorCode; }