ここから update 2 メソッドでモジュールベースのログインを実装し まし たが、うまく機能します。ここで、このモジュールに別のロールとしてアクセスする必要があります。ここで説明するように、このモジュールへのユーザーレベルのアクセスを実装します
LevelLookUp クラスを EWebUser に追加します。今すぐログインしようとすると CException
「CWebUser とその動作には、「isAdmin」という名前のメソッドまたはクロージャがありません。」
表示されます。これは、モジュールがまだ CWebUser を使用していることを意味しますが、独自の EWebUser を作成し、それを module/components/EWebUser.php に配置し、モジュール構成ファイルの init メソッドにコードを記述します
$this->setImport(array(
'bgadmin.models.*',
'bgadmin.components.*',
));
$this->setComponents(
array(
'errorHandler' => array(
'errorAction' => 'bgadmin/default/error'),
'user' => array(
//'class' => 'CWebUser',
'class' => 'EWebUser',
'loginUrl' => Yii::app()->createUrl('bgadmin/default/index'),
)
));
問題 - 1. LevelLookUp クラスを配置する場所 2. モジュールがまだ EWebUser ではなく CWebuser を使用しているのはなぜですか?
再試行------------ 変更するとき
$this->setComponents(
に
Yii::app()->setComponents(
次に、EwebUserにアクセスしますが、ログインしたときにloginurlにはアクセスしませんが、現在2つの問題1.'expression'=>'Yii::app()->user->isAdmin()'
動作しませんが、クラスEwebUserではflaseを返します。2.ログアウト時に「Property "BgadminModule.user" is not defined.」というエラーが表示されます。ログアウトコードは
Yii::app()->user->logout(false);
$this->redirect(Yii::app()->getModule('bgadmin')->user->loginUrl);
以前の場合、ログアウトは正常に機能していました。私を助けてください 。