我已经通过 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.为什么模块仍在使用 CWebuser 而不是 EWebUser ?
重试------------ 当我改变
$this->setComponents(
至
Yii::app()->setComponents(
然后它访问 EwebUser 但不是我登录时的 loginurl 但现在有 2 个问题 1.'expression'=>'Yii::app()->user->isAdmin()'
不起作用但在 EwebUser 类中它返回flase。2.注销时出现错误“未定义属性“BgadminModule.user”。”注销代码是
Yii::app()->user->logout(false);
$this->redirect(Yii::app()->getModule('bgadmin')->user->loginUrl);
在以前的情况下注销工作正常。请帮我 。