Yii前后台分开登录模块

网上搜的一些资料有些地方有点不对,自己实践后,总结了一下正确的。

下面假设module名为admin

config/main.php里不用给components添加,只要在AdminModule.php的init()里调用Yii::app()->setComponents(),重写main.php里的user组件即可,实例代码如下:

Yii::app()->setComponents(array(
    'user'=>array(
        'class'=>'AdminWebUser',
        'stateKeyPrefix'=>'admin',
        'loginUrl'=>array('/admin/default/login'),
    ),
));

之后在Admin模块的components添加自己的WebUser类和UserIdentity类就可以了。

前台和后台互相退出时不影响是在调用Yii::app()->user->logout()这个函数时,传入false参数:

Yii::app()->user->logout(false);
标签: yii, php