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

1、在根目录下面创建modules文件夹
这个modules文件夹里面所有都是你所须要的模块
例如:创建admin模块,文件夹目录以下:
图片描述php

2、adminModule.php文件夹的内容:web

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

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

3、配置文件web.phpapp

'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等等
4、简化命名空间长度
一、在入口文件index.php获取config后面加入yii

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

二、在配置文件里面修改ide

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

不要忘记修改components里面的admin
经过以上代码就能够admin里面直接用admin的命名空间啦
5、登陆的用法逻辑和前台同样。
用的时候:
Yii::$app->admin->isGuest
Yii::$app->admin->identity->nickname
将user换为admin便可布局

相关文章
相关标签/搜索