手记

yii2高版-博客-前后端分离

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

前后台分离的功能实现!

1人推荐
随时随地看视频
慕课网APP