3

CWebUserアプリケーションの認証モジュールを作成していますが、との関係がよくわかりませんCUserIdentity

ユーザーIDをに設定するYii::app()->user->idには、UserIdentityクラスでそれを行い、メソッドを作成する必要があります:

public function getId() {
    return $this->_id;
}

しかし、設定isAdminするには、クラスYii::app()->user->isAdminにメソッドを作成する必要があります:WebUser

function getIsAdmin() {
    $user = $this->loadUser(Yii::app()->user->id);
    return intval($user->user_level_id) == AccountModule::USER_LEVEL_ADMIN;
}

UserIdentityクラスのメソッドを作成できないのはなぜですか? ここでの分業は何ですか?

4

3 に答える 3

5

( UserIdentityUI) クラスは ID カードのようなもので、WebUserクラスは実際の人物に加えて、その人物について知っているすべてのものです。

UI クラスは、データベース、Web サービス、テキストファイルなどを介した認証を提供します。キー属性が何であるかを知らせ、それらを操作できるようにします。ただし、ユーザーは、許可されていること、名前、詳細なアクセス許可などについて、より多くの情報を提供できます。

OK、比喩を終了します

UI クラスは重要な情報を保持しているため、ユーザー ID を要求すると、ユーザーIDクラスを参照してユーザーの識別子を取得します。

ユーザーの識別または認証に関連しないものはすべてWebUserクラスに含まれます

それをすべてクリアしますか?

あなたの例

getId関数を例として挙げましたが、それを作成しWebUserて、状態からプルするデフォルトをオーバーライドできます。

ここで何を意味するのかわかりません。

于 2013-01-31T09:07:42.483 に答える