質問

私は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;
    }

}
.

My Yii:app()->user->isGuestは常にtrueを返し、Yii::app()->user->idは何も返しません。

それが私がYii::app()->session['loggedin']を使用して認証を実行しようとした理由です。しかし、それでも機能していません。このYii::app()->sessionのようなセッション配列にアクセスすると、エラーProperty "CWebUser.session" is not defined.が表示されます。

これは本当にイライラすることです。私はyiiに慣れています。助けてください。

役に立ちましたか?

解決

login 機能cwebuser

フォローこのチュートリアル

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top