我正在 Yii 中建立一个网站,但我被困在用户身份验证步骤中。无论我做什么,我都无法对用户进行身份验证或在会话中存储一些值。
我的 UserIdentity 组件如下:
class UserIdentity extends CUserIdentity
{
private $_id;
public function authenticate(){
if(($userRecord = Admin::model()->findByAttributes(array('username'=>$this->username)))===null){
return $this->errorCode=self::ERROR_USERNAME_INVALID;
}
if($userRecord->password!=hash('sha256', $this->password)){
return $this->errorCode=self::ERROR_PASSWORD_INVALID;
}
$this->_id=$userRecord->id;
$this->setState('title', $userRecord->username);
Yii::app()->session['clientId'] = $userRecord->clientId;
Yii::app()->session['id'] = $userRecord->id;
Yii::app()->session['loggedin'] = true;
return $this->errorCode=self::ERROR_NONE;
}
public function getId(){
return $this->_id;
}
}
我的Yii:app()->user->isGuest
总是返回 true 并且Yii::app()->user->id
什么也不返回。
这就是我尝试使用Yii::app()->session['loggedin']
来进行身份验证的原因。但即使这样也行不通。当我像这样访问会话数组时,Yii::app()->session
我得到了错误Property "CWebUser.session" is not defined.
。
这真是令人沮丧。我是 Yii 的新手。请帮忙。