yii2高版-部落格-前後端分離

local0發表於2021-09-09

前後端分離,可以避免前後端受同一使用者的登入登出影響
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 backendmodels; 

use commonmodelsAdminModel;
...
...
  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 frontendmodels;
use commonmodelsUserModel;

5, 刪除common/models/LoginForm.php
6,修改backend/config/main.php

‘components‘ => [
        ‘user‘ => [
            ‘identityClass‘ => ‘commonmodelsAdminModel‘,
            ‘enableAutoLogin‘ => true,
        ],
        ...
]

7,修改frontend/config/main.php

‘components‘ => [
        ‘user‘ => [
            ‘identityClass‘ => ‘commonmodelsUserModel‘,
            ‘enableAutoLogin‘ => true,
        ],
        ...
]

8,修改控制器backend/controllers/SiteController.php
use backendmodelsLoginForm;
9,修改控制器frontend/controllers/SiteController.php
use frontendmodelsLoginForm;

前後臺分離的功能實現!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/132/viewspace-2807856/,如需轉載,請註明出處,否則將追究法律責任。

相關文章