前后端分离,可以避免前后端受同一用户的登录登出影响
1,数据库 user表作为前端用户表
新增后台管理员表admin,表结构参照user表
2,将common/models/User.php重命名为 UserModel.php
默认为 user 表
并在当前目录下copy一份,命名为AdminModel.php
修改:引用表名称为 admin 表
public static function tableName()
{
return '{{%admin}}';
}
3,将common/models/LoginForm.php复制到backend/models/LoginForm.php 修改:
namespace backend\models;
use common\models\AdminModel;
...
...
protected function getUser()
{
if ($this->_user === null) {
$this->_user = AdminModel::findByUsername($this->username);
}
return $this->_user;
}
4,将common/models/LoginForm.php复制到frontend/models/LoginForm.php 修改:
namespace frontend\models;
use common\models\UserModel;
5, 删除common/models/LoginForm.php
6,修改backend/config/main.php
‘components‘ => [
‘user‘ => [
‘identityClass‘ => ‘common\models\AdminModel‘,
‘enableAutoLogin‘ => true,
],
...
]
7,修改frontend/config/main.php
‘components‘ => [
‘user‘ => [
‘identityClass‘ => ‘common\models\UserModel‘,
‘enableAutoLogin‘ => true,
],
...
]
8,修改控制器backend/controllers/SiteController.php
use backend\models\LoginForm;
9,修改控制器frontend/controllers/SiteController.php
use frontend\models\LoginForm;
前后台分离的功能实现!