You don't have javascript enabled. Good luck! :(

欢迎页

Welcome to Ganace's Blog


欢迎您来到Ganace 的个人博客。

在茫茫互联网的海洋里能够遇见,实在是一份不小的幸运。

诚挚地向您问候一声:您好,朋友!

这里是属于Ganace个人的隐秘小空间,记录了工作学习中遇到的知识点与灵感,以及生活中的碎碎念与吐槽突如其来的中二病尬尬的文艺时间锻炼腹肌的时刻惊喜的小发现等等。

想要在自己的平淡无奇的人生长河中留下些什么,

或者只是为了拯救老人家岌岌可危的记忆力,

仅此而已。

来到此地,分享与你。

也期待与您的再次相遇!

Share with Me


有任何的分享或者建议与吐槽,都可以Email我:ganace@foxmail.com

欢迎您的来信!

【PHP|Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(一)

  Oct 14, 2017     Ganace     Back-end-Development

PHP
Yii2
Yii2-Admin

这里是一篇Ganace记录的关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(安装配置)的文章。

下载安装


下载地址

安装(归档文件安装)

  • 解压文件下载,把其中的[yii2-admin]文件整个拷贝到[yii2_path/vendor/yiisoft]或[yii2_path/vendor/mdmsoft],其中[yii2_path]为本地Yii2归档文件所在目录。

配置


配置快捷地址

  • 设置快捷地址
    在config/web.php文件中添加aliases如下
$config = [
    //...
    'language' => 'zh-CN',#全局设置为中文--推荐
    'components' => [
        //...
    ],
    'aliases' => [
        '@mdm/admin' => '@vendor/yiisoft/yii2-admin',#或者@vendor/mdmsoft/yii2-admin
    ],
];

配置模块与权限

  • 配置admin模块
    在config/web.php文件中添加admin模块如下
$config = [
    //...
    'modules' => [
        //...
        'admin' => [
            'class' => 'mdm\admin\Module',
            'layout' => 'left-menu', #yii2-admin导航菜单
            'mainLayout' => '@app/views/layouts/main.php',
            'controllerMap' => [ #配置用户模型
                'assignment' => [  #添加r=admin/assignment菜单条
                    'class' => 'mdm\admin\controllers\AssignmentController',  
                    'userClassName' => 'app\models\User',  
                    'idField' => 'id',
                ],
            ],
            'menus' => [
                'assignment' => [
                    'label' => '角色分配' # 更改assignment的label即在菜单条中显示的名字
                ],
                'user' => null, #禁用user菜单,即不显示r=admin/user菜单条
            ]
        ]
    ],
];
  • 其中,layout控制yii2-admin的导航菜单位置(布局),默认配置为空,left-menu为靠左布局,所有布局如下: left-menu、main、right-menu、top-menu。为空时使用应用程序的布局而不使用菜单。

  • 其中'mainLayout' => '@app/views/layouts/main.php',设置顶部导航条与应用程序主布局一致

  • 配置RABC权限
    在config/web.php文件中添加authManager在如下位置:
$config = [
    //...
    'components' => [
        //...
        'authManager' => [#配置RABC,基于角色的存取控制
            'class' => 'yii\rbac\DbManager', 
            #或者'class' => 'yii\rbac\PhpManager'
        ]
    ],
    //...
];
$config = [
    //...
    'components' => [
        //...
    ],
    'as access' => [
        'class' => 'mdm\admin\components\AccessControl',
        'allowActions' => [
            'site/*',#允许访问的节点
            'admin/*',#允许所有人访问admin节点及其子节点
            // '*'#允许访问所有节点
        ]
    ],
];
  • 若为basic版本,还需在/config/console.php中添加authManager与admin在如下示例位置:
$config = [
    //...
    'components' => [
        //...
        'authManager' => [#配置RABC,基于角色的存取控制
            'class' => 'yii\rbac\DbManager', 
            #或者'class' => 'yii\rbac\PhpManager'
        ]
    ],
    'modules' => [
        //...
        'admin' => [
            'class' => 'mdm\admin\Module',
            'layout' => 'left-menu', #yii2-admin导航菜单
        ]
    ],
    //...
];

【Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(二)

【Yii2|Yii2-Admin】关于(基于RBAC的权限管理扩展组件)Yii2-Admin的基本使用(三)