2
저는 Yii에 웹 사이트를 구축 중이며 사용자 인증 단계에 머물러 있습니다. 내가 무엇을해도 나는 세션을 통해 사용자를 인증하거나 값을 저장할 수 없다. 다음과 같이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
항상 진실하고 Yii::app()->user->id
반환 아무 것도 반환하지 않습니다 내.
그래서 나는 Yii::app()->session['loggedin']
을 사용하여 인증을 시도했습니다. 그러나 그것조차도 작동하지 않습니다. 이 Yii::app()->session
과 같은 세션 배열에 액세스하면 Property "CWebUser.session" is not defined.
오류가 발생합니다.
정말 실망 스럽습니다. 나는 Yii. 도와주세요.
사용자가 [로그인] (http://www.yiiframework.com/doc/api/1.1/CWebUser#login-detail) 했습니까? –
Oh sh1t. 테스트하는 동안 모델에서 로그인 기능에 주석을 달았습니다. 고맙습니다. 이제는 완벽하게 작동합니다. – ajaybc
위대한 답변으로 그것을 추가했습니다. –