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>
呈現的結果