码迷,mamicode.com
首页 > Web开发 > 详细

Yii2前后台分离如何实现?

时间:2016-12-21 15:52:34      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:

本文和大家分享的主要是php中的Yii2框架前后台分离相关知识,一起来看看吧,希望对大家有所帮助。

Yii2前后台都需要注册的时候会产生前后台登录一个另一个同步登录和退出,这是因为登录和退出之前的sitecontroller里面公用了common/model下面的LoginForm.phpuser.php需要分开写:

1、将common/models/User.php在当前目录下copy一份,命名为Admin.php,修改类的名称为Admin

2、将common/models/LoginForm.php复制到backend/models/LoginForm.php

修改backend/models/LoginForm.php

namespace backend\models;

use common\models\Admin;

...

...

protected function getUser()

{

if ($this->_user === null) {

$this->_user = Admin::findByUsername($this->username);

}

return $this->_user;

}

3、将common/models/LoginForm.php复制到frontend/models/LoginForm.php

修改frontend/models/LoginForm.php

namespace frontend\models;

use common\models\User;

4、删除common/models/LoginForm.php

5、修改backend/config/main.php

‘components‘ => [

‘user‘ => [

‘identityClass‘ => ‘common\models\Admin‘,

‘enableAutoLogin‘ => true,

],

...

]

6、修改frontend/config/main.php

‘components‘ => [

‘user‘ => [

‘identityClass‘ => ‘common\models\User‘,

‘enableAutoLogin‘ => true,

],

...

]

7、修改控制器backend/controllers/SiteController.php

namespace backend\controllers;

use Yii;

use yii\web\Controller;

use yii\filters\VerbFilter;

use yii\filters\AccessControl;

use backend\models\LoginForm;

如果不行注意前后台同步调整

前台和后台公用一个session了,不同用户同登录退出(前台登录了用户,后台刷新自动登录对应的管理员了),这是公用session

backendconfig下面的main.php

\’user\’ => [

\’identityClass\’ => \’common\models\Admin\’,

\’enableAutoLogin\’ => true,

\’identityCookie\’ => [\’name\’ => \’__Manage_identity\’, \’httpOnly\’ => true],

\’idParam\’ => \’__Manage\’,

同理加在frontend

localhost90/login/index的后台界面显示没有权限

在后台loginController中加

use backend\models\LoginForm;

可以正常显示

 

来源:博客园

Yii2前后台分离如何实现?

标签:

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
jiangjie190
加入时间:2016-02-19
  关注此人  发短消息
文章分类
jiangjie190”关注的人------(0
jiangjie190”的粉丝们------(1
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!