Yii2基础版的模块实现后台用户登录

一、在根目录下面建立modules文件夹
这个modules文件夹里面全部都是你所需要的模块
例如:建立admin模块,文件夹目录如下:
Yii2基础版的模块实现后台用户登录

二、adminModule.php文件夹的内容:

<?php
namespace app\modules\admin;
use Yii;
class adminModule extends \yii\base\Module{

    public function init(){
        //声明布局文件
        $this->layout = 'admin';
        parent::init();
    }
}

三、配置文件web.php

'components' => [
        
        'user' => [
            'identityClass' => 'app\models\User',
            'enableAutoLogin' => true,
        ],
        'admin' => [
            'class' => 'yii\web\User',
            'identityClass' => 'app\modules\admin\models\AdminUser',
            'enableAutoLogin' => true,
            'loginUrl'=>['/admin/manage/login'],//定义后台默认登录界面[权限不足跳到该页]
            'identityCookie' => ['name' => '__admin_identity', 'httpOnly' => true],
            'idParam' => '__admin'
        ],
       
        
    ],

'modules' => [
    'admin' => [
        'class'=>'app\modules\admin\adminModule',
    ],
],

这种配置在运用时候命名空间得写appmodulesadmin等等
四、简化命名空间长度
1、在入口文件index.php获取config后面加入

Yii::setAlias('@modules', dirname(__DIR__).'/modules');

2、在配置文件里面修改

'aliases' => [
        '@admin'=>'@modules/admin'
    ],
'modules' => [
    'admin' => [
        'class'=>'admin\adminModule',
    ],
],

不要忘记修改components里面的admin
通过以上代码就可以admin里面直接用admin的命名空间啦
五、登录的用法逻辑和前台一样。
用的时候:
Yii::$app->admin->isGuest
Yii::$app->admin->identity->nickname
将user换为admin即可

相关推荐