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