class UserIdentity extends CUserIdentity
{
const ERROR_USERNAME_INACTIVE=67;
private $_id;
public function authenticate()
{
$username=strtolower($this->username);
$user=User::model()->find('LOWER(username)=?',array($username));
if($user===null)
$this->errorCode=self::ERROR_USERNAME_INVALID;
else if(!$user->validatePassword($this->password))
$this->errorCode=self::ERROR_PASSWORD_INVALID;
else if($user->active == 0)
$this->errorCode=self::ERROR_USERNAME_INACTIVE;
else
{
$this->_id=$user->id;
$this->username=$user->username;
$this->errorCode=self::ERROR_NONE;
}
return $this->errorCode==self::ERROR_NONE;
}
public function getId()
{
return $this->_id;
}
}
但是,在我看来,它返回不正确的用户名或密码而不是 ERROR_USERNAME_INACTIVE 消息,我应该怎么做才能纠正这个错误?