前后端分离,可以避免前后端受同一用户的登录登出影响
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;
前后台分离的功能实现!