Yii2.0 后台UI框架以及权限管理扩展实现权限菜单管理
一、安装后台框架ui
composer require dmstr/yii2-adminlte-asset
复制 \vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app\ 目录的 layouts、site 文件夹至 \backend\views\ 目录中
修改 backend\config\main.php 文件
'components' => [
......
// 后台 ui 框架
'assetManager' => [
'bundles' => [
'dmstr\web\AdminLteAsset' => [
'skin' => 'skin-blue',
/* 可用的配置
"skin-blue",
"skin-black",
"skin-red",
"skin-yellow",
"skin-purple",
"skin-green",
"skin-blue-light",
"skin-black-light",
"skin-red-light",
"skin-yellow-light",
"skin-purple-light",
"skin-green-light"
*/
],
],
],
......
]
呈现的结果
二、安装权限管理扩展
三、实现权限菜单管理
- 利用migrate创建menu数据表
# Linux系统
./yii migrate/to m140602_111327_create_menu_table.php --migrationPath=@mdm/admin/migrations
# window 系统
yii migrate/to m140602_111327_create_menu_table.php --migrationPath=@mdm/admin/migrations
# m140602_111327_create_menu_table.php 是我们要执行的menu数据表,
# 在vendor\mdmsoft\yii2-admin\migrations目录下,这个每个人可能是不同的,需要自己手动修改
- 访问 admin/menu
创建两个菜单:
一个Name为“权限管理”,Order为“1”的的父级,
一个Name为“菜单”,Order为“1”,Route为 “/admin/menu/index” 的子级菜单
- 打开布局文件left.php,文件内的Html代码替换为下面的代码,代码的含义是借助yii2以及yii2-admin封装好的菜单组件,显示用户有权限的菜单。注意哦,如果用户对某操作有权限,但是你没为该权限添加菜单,这是不会显示在左侧,但是用户通过路由地址照样可以正常访问的,毕竟我们左侧管理的是菜单表
<?php
use mdm\admin\components\MenuHelper;
use dmstr\widgets\Menu;
?>
<aside class="main-sidebar">
<section class="sidebar">
<?=
Menu::widget([
'options' => ['class' => 'sidebar-menu tree', 'data-widget'=> 'tree'],
'items' => MenuHelper::getAssignedMenu(Yii::$app->user->id)
]);
?>
</section>
</aside>
呈现的结果