日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

yii2 php反射,Yii2.0-advanced-3—为yii2添加后台模板adminlte和权限组件yii2-adm

發布時間:2023/12/10 php 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 yii2 php反射,Yii2.0-advanced-3—为yii2添加后台模板adminlte和权限组件yii2-adm 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、yii2-adminlte-asset

adminlte一款基于bootstrap的響應模塊。yii2-adminlte-asset更是一款基于yii2框架進行開發的后臺主題模版。

1、安裝(安裝前先運行composer self-update)

composer require dmstr/yii2-adminlte-asset "2.*"等待幾分鐘完成后,

拷貝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目錄下面的文件到項目 backend\views, 可直接進行覆蓋替換;

打開訪問后臺主頁和登錄頁:

2、打開 backend\views\layouts\main.php,找到body將其class修改如下,可以改變不同的顏色主題:

"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"

二、yii2-admin權限組件

yii2-admin是一個基于yii2的權限管理組件,使用它可以快速搭建可視化的權限管理功能;

1、首先創建yii2的rbac數據表,數據庫遷移文件在vendor\yiisoft\yii2\rbac 目錄下,

yii migrate --migrationPath=@yii/rbac/migrations/

輸入會會報錯提示我們要添加權限組件配置:

Exception 'yii\base\InvalidConfigException' with message 'You should configure "authManager" component

打開 common\config\main.php 文件,在 components 數組中加入 authManager 組件

//authManager有PhpManager和DbManager兩種方式,

//PhpManager將權限關系保存在文件里,這里使用的是DbManager方式,將權限關系保存在數據庫.

"authManager" => [

"class" => 'yii\rbac\DbManager',

],再次執行遷移就可以了,建立的表含義:

auth_item:用于存儲角色、權限和路由;? auth_item_child:角色-權限的關聯表;? auth_assignment:用戶-角色的關聯表

2、安裝yii2-admin:

composer require mdmsoft/yii2-admin "~2.0" 相關配置:

backend\config\main.php

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

]

],

//......

]; 現在,我們訪問后臺任何路由都顯示 403 無權限訪問,為了開發方便,暫時我們先設置所有都可訪問,

'allowActions' => [

//這里是允許訪問的action,不受權限控制

//controller/action

'*'

]

下面可以通過瀏覽器訪問如下地址:

/index.php?r=admin

/index.php?r=admin/route

/index.php?r=admin/permission

/index.php?r=admin/role

/index.php?r=admin/assignment 這就是yii2-admin的權限管理界面了,但是這么訪問太麻煩,我們可以做一個導航管理,讓有權限的路由都顯示在左側菜單;

3、menu菜單實現

首先建立一個menu表,這個表在yii2中已經為我們準備好了,直接數據遷移:

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 可以看到菜單管理界面;然后

打開布局文件left.php,修改相應配置,

use mdm\admin\components\MenuHelper;

use dmstr\widgets\Menu;

?>

=

Menu::widget([

'options' => ['class' => 'sidebar-menu'],

'items' => MenuHelper::getAssignedMenu(Yii::$app->user->id)

]);

?>

這樣就可以通過在界面操作實現左側導航管理;

4、menu菜單使用方法

/admin/menu/index? ? #這里添加導航菜單,之前先訪問 /admin/menu/index將所有路由添加到表中,否則無法設置路由鏈接

例如:添加一個‘’角色管理‘’ 菜單,路由為 “/admin/role”

5、rbac權限使用方法

//路由設置

/admin/route/index? ? ?#訪問將左側所有路由添加到右側,即寫入路由數據,這里的路由是根據php反射機制自動顯示,也可手動增加路由

//權限設置

/admin/permission/index? ? ?#添加一個權限,分配給一個路由,例如:“ 全局權限 ”,右側加入 “ /* ”;

//角色設置

/admin/role/index? ? ?#添加一個角色,分配給該角色一個權限,例如:“ 超級管理員 ”,右側加入上一步設置的 “ 全局權限 ”;

//角色分配

/admin? ? ?#分配給用戶角色,這里會顯示user表中所有用戶,例如:“ admin ”,右側加入上一步設置的角色 “ 超級管理員 ”;

6、完善配置

之前為了使用方便我們將? /backend/config/main.php,allowActions 設置為 *,現在改為正確設置:

'as access' => [

'class' => 'mdm\admin\components\AccessControl',

'allowActions' => [

//這里是允許訪問的action,不受權限控制

//controller/action

'site/*',

]

],未在后臺授權的用戶訪問相關路由都會顯示403;

總結

以上是生活随笔為你收集整理的yii2 php反射,Yii2.0-advanced-3—为yii2添加后台模板adminlte和权限组件yii2-adm的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。