(1)、在 common\config\main.php添加 php
'components' => [
’authManager’ => [
’class’ => 'yii\rbac\DbManager',
],
],
(2)、
yii migrate --migrationPath=@yii/rbac/migrations/
(3)
開始安裝yii2-admin:
composer require mdmsoft/yii2-admin "~2.0"數據庫
此時會生成4張表 (提早選擇數據庫,最好是乾淨的數據庫)yii2
其中:auth_item:用於存儲角色、權限和路由; auth_item_child:角色-權限的關聯表; auth_assignment:用戶-角色的關聯表 auth_ruls 規則表app
(4)composer
安裝好了以後,咱們打開 backend\config\main.php,配置以下yii
return [ //...... 'modules' => [ 'admin' => [ 'class' => 'mdm\admin\Module', ], //...... ], 'aliases' => [ '@mdm/admin' => '@vendor/mdmsoft/yii2-admin', ], 'components' => [ //...... 'authManager' => [ 'class' => 'yii\rbac\DbManager', 'defaultRoles' => ['guest'], ], //...... ], 'as access' => [ 'class' => 'mdm\admin\components\AccessControl', 'allowActions' => [ //這裏是容許訪問的action,不授權限控制 //controller/action '*' ] ], //...... ];
(5)ide
能夠經過下列url驗證安裝是否成功
/index.php?r=admin
/index.php?r=admin/route
/index.php?r=admin/permission
/index.php?r=admin/role
/index.php?r=admin/assignment佈局
(5)ui
composer require dmstr/yii2-adminlte-asset "2.*"url
拷貝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目錄下面的文件到項目 backend\views, 可直接進行覆蓋替換
(6)
//執行命令
yii migrate/to m140602_111327_create_menu_table.php --migrationPath=@mdm/admin/migrations
經過 /index.php?r=admin/menu 訪問菜單建立
打開佈局文件left.php,文件內的Html代碼替換爲下面的代碼,
<?php use mdm\admin\components\MenuHelper; use dmstr\widgets\Menu; ?> <aside class="main-sidebar"> <section class="sidebar"> <?= Menu::widget([ 'options' => ['class' => 'sidebar-menu'], 'items' => MenuHelper::getAssignedMenu(Yii::$app->user->id) ]); ?> </section> </aside>
(7)建立菜單
經過 /index.php?r=admin/menu 訪問菜單建立
① //路由設置
/admin/route/index #訪問將左側全部路由添加到右側,即寫入路由數據,這裏的路由是根據php反射機制自動顯示,也可手動增長路由
② //權限設置
/admin/permission/index #添加一個權限,分配給一個路由,例如:「 全局權限 」,右側加入 「 /* 」;
③ //角色設置
/admin/role/index #添加一個角色,分配給該角色一個權限,例如:「 超級管理員 」,右側加入上一步設置的 「 全局權限 」;
//角色分配
(4)
/admin #分配給用戶角色,這裏會顯示user表中全部用戶,例如:「 admin 」,右側加入上一步設置的角色 「 超級管理員 」
(登陸密碼爲123456)
(5)
建立菜單
例如
//此權限必須是上圖全部權限