Yii2 第14章 rbac安装AdminLTE和yii2-admin Yii2 第14章 rbac安装AdminLTE和yii2-admin

2022-06-27

一、安装 AdminLTE 渲染后台

1、利用 AdminLTE 渲染后台模板

AdminLTE 是一个完全响应管理模板。基于 Bootstrap3 框架,易定制模板。适合多种屏幕分辨率,从小型移动设备到大型台式机。内置了多个页面,包括仪表盘、邮箱、日历、锁屏、登录及注册、404错误、500错误等页面。

进入 cmd,切换到 advanced 目录,输入

composer require dmstr/yii2-adminlte-asset "2.*"

复制 vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app 到 backend/views/,需要覆盖的则覆盖

2、进入后台 127.0.0.1/advanced/backend/web/ 查看效果

https://file.lulublog.cn/images/3/2022/08/Kz9NnzN08N0LZ74lrH78NH8870hVi6.png

注释:如果遇到页面不断刷新,可能是因为加载资源的时候在获取 google 的 css 资源

https://file.lulublog.cn/images/3/2022/08/ghd8rYIzw3MmT831ZRIy3Lv3iHwIsS.png

解决办法:

①、下载谷歌字体,将压缩包解压至backend\web\css 目录下

②、在 backend\config\main.php 的 components 配置项中添加

'assetManager' => [
    'assetMap' => [
          'AdminLTE.min.css' => '@web/css/AdminLTE.min.css',
      ]
],

3、url 美化

① 配置:backend/config/main.php 文件的 compontents

"urlManager" => [
    //用于表明 urlManager 是否启用URL美化功能
    "enablePrettyUrl" => true,
    // 是否在URL中显示入口脚本
    "showScriptName" => false,
],

② 下载 .htaccess 文件,放在 backend/web 目录下(这是为了隐藏 Index.php,apache必须要开启rewrite模块)

二、安装 yii2-admin 集成 rbac

1、yii2-admin 是 yii2 rbac 的一套管理工具,实现了漂亮的界面和完整的权限管理功能

进入 cmd,切换到 advanced 目录,输入

composer require mdmsoft/yii2-admin "2.x-dev"

2、配置 backend/config/main.php 文件

"modules" => [
    "admin" => [
        "class" => "mdm\admin\Module",
    ],
],
"aliases" => [
    "@mdm/admin" => "@vendor/mdmsoft/yii2-admin",
],
'as access' => [
    'class' => 'mdm\admin\components\AccessControl',
    'allowActions' => [
        //这里是允许访问的action
        //controller/action
    // * 表示允许所有,后期会介绍这个
        '*'
    ]
],
'components' => [
    "authManager" => [
        "class" => 'yii\rbac\DbManager',
        "defaultRoles" => ["guest"],
    ],
],

3、导入 rbac 表格

执行.sql 文件:vendor/yiisoft/yii2/rbac/migrations/schema-mysql.sql

4、运行 127.0.0.1/advanced/backend/web/admin/route 预览效果

https://file.lulublog.cn/images/3/2022/08/C7hVCVtzVw3rWCp3C7v3kwTV8kSRt7.png

阅读 679