Yii 2.0 搭建基於RBAC許可權的後臺管理系統 (二)
三、RBAC整合AdminLTE後臺主題對選單進行控制
1. 配置APACHE虛擬主機
在 <XAMPP安裝路徑>\apache\conf\extra\httpd-vhosts.conf檔案末尾追加
<VirtualHost *:80> ServerName frontend.test DocumentRoot "project_path/advanced/frontend/web/" <Directory "project_path/advanced/frontend/web/"> # use mod_rewrite for pretty URL support RewriteEngine on # If a directory or a file exists, use the request directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Otherwise forward the request to index.php RewriteRule . index.php # use index.php as index file DirectoryIndex index.php # ...other settings... </Directory> </VirtualHost> <VirtualHost *:80> ServerName backend.test DocumentRoot "project_path/advanced/backend/web/" <Directory "project_path/advanced/backend/web/"> # use mod_rewrite for pretty URL support RewriteEngine on # If a directory or a file exists, use the request directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Otherwise forward the request to index.php RewriteRule . index.php # use index.php as index file DirectoryIndex index.php # ...other settings... </Directory> </VirtualHost>
2. 配置本地HOST:
在C:\WINDOWS\System32\drivers\etc\HOSTS檔案裡追加
127.0.0.1 backend.test 127.0.0.1 frontend.test
3. 建立資料庫並配置資料庫連結
create database yii2_advanced default charset utf8;
修改本地配置檔案<專案根目錄>/common/config/main-local.php內容,這裡使用的mysql資料庫,配置如下:
'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2_advanced', 'username' => 'yii2_advanced_username', 'password' => 'yii2_advanced_password', 'charset' => 'utf8', ],
4. 配置yii2-admin執行環境
安裝yii2.0-admin
composer require mdmsoft/yii2-admin "~2.0"
因為僅將許可權控制應用於後臺backend模組,所以這裡將配置寫到<專案根目錄>/backend/config/main.php檔案裡,依次小心新增如下內容。
return [ 'modules' => [ 'admin' => [ 'class' => 'mdm\admin\Module', ] ], 'components' => [ 'authManager' => [ 'class' => 'yii\rbac\DbManager', // 使用資料庫管理配置檔案 ] ], 'as access' => [ 'class' => 'mdm\admin\components\AccessControl', 'allowActions' => [ 'site/*',//允許訪問的節點,可自行新增 'admin/*',//允許所有人訪問admin節點及其子節點 ] ], ];
建立資料庫表
建立使用者表和選單表
這裡通過命令列執行命令的方式,使用遷移檔案進行資料庫表的建立。
> 執行以下命令前請保證資料庫中不存在相關表。
php yii migrate [email protected]/admin/migrations
上面的命令會在資料庫建立user表和menu表。
建立RBAC相關表
建表語句存放在<專案根目錄>/vendor/yiisoft/yii2/rbac/migrations/schema-mysql.sql檔案中,在MySQL資料庫中執行分別得到auth_assignment、auth_item_child、auth_item、auth_rule四個表。
配置簡短路由
<專案根目錄>/backend/config/main.php檔案的compontents數組裡加上下面的配置:
"urlManager" => [ "enablePrettyUrl" => true, "enableStrictParsing" => false, "showScriptName" => false, "suffix" => "", "rules" => [ "<controller:\w+>/<id:\d+>"=>"<controller>/view", "<controller:\w+>/<action:\w+>"=>"<controller>/<action>" ], ],
然後在 <專案根目錄>/backend/web下面建立.htaccess檔案並新增如下內容
Options +FollowSymLinks IndexIgnore */* RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.phpWindows建立.htaccess檔案
cd D:\Development\Environment\xampp\htdocs\advanced\backend\web 輸入copy con .htaccess 回車 (不會看到變化),然後再按ctrl+Z鍵,再回車,然後就建立了通過訪問位址列http://backend.test/admin檢視效果,如下:
到這裡準備工作基本就緒,開始整合Yii的第三方資源外掛。
四、Yii2整合AdminLTE後臺主題
安裝AdminLTE
在專案根目錄(advanced)下執行
composer require dmstr/yii2-adminlte-asset "2.*"
複製整個<專案根目錄>vendor/dmstr/yii2-adminlte-asset/example-views/yiisoft/yii2-app目錄下的 layout 目錄和 site 目錄到backend/views,覆蓋原始檔案。
成功後註冊一個新使用者:
進入http://frontend.test/點選右上角 Signup 註冊一個新使用者
現在我們訪問一下後臺管理地址
http://backend.test/
這樣基於Yii2.0的RBAC的許可權管理系統就搭建了一部分啦。下一篇RBAC許可權配置。
相關推薦
Yii 2.0 搭建基於RBAC許可權的後臺管理系統 (二)
三、RBAC整合AdminLTE後臺主題對選單進行控制1. 配置APACHE虛擬主機在 <XAMPP安裝路徑>\apache\conf\extra\httpd-vhosts.conf檔案末尾追加<VirtualHost *:80> Serve
Yii 2.0 搭建基於RBAC許可權的後臺管理系統 (一)
自己學習Yii 2.0搭建RBAC的一些筆記整理了一下發來和大家分享下,大神勿噴。一、安裝PHP依賴管理工具 1. 配置PHP證書確保可以使用php訪問http下載 ca-bundle.crt和cacert.pem將這兩個檔案放在<XAMPP的安裝路徑>/<
從零搭建java後臺管理系統(二)mysql和redis安裝
docker 權限 req 安全性 分享圖片 登錄 red 解析 append 接上篇開始安裝mysql和redis 註意了,如果用阿裏雲服務器,外網訪問的端口必須在安全組開啟,否則外網訪問不通 三、服務器安裝redis和mysql 本次環境搭建將所有第三方服務會安
angular6 + ng-zorro鹿途後臺管理系統(二)項目結構規劃
風格 shared 形式 route rgb 最好 導航 出口 ref 上一節我們已經搭建好項目的基本骨架,現在我們就來對項目的整體結構進行規劃,項目結構規劃每個人每個公司都有不同的方式,我們不去論好壞還是是否合理,只要你當前覺得它是最好的實現就好,不過我還是建議去參
angular6 + ng-zorro鹿途後臺管理系統(二)專案結構規劃
上一節我們已經搭建好專案的基本骨架,現在我們就來對專案的整體結構進行規劃,專案結構規劃每個人每個公司都有不同的方式,我們不去論好壞還是是否合理,只要你當前覺得它是最好的實現就好,不過我還是建議去參考優秀專案的規劃方式。 專案結構設計總原則:一切皆模組,鹿途專案的模組主要以功能劃分,每個完整的功能點就是一
構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x註入的後臺管理系統(66)-MVC WebApi 用戶驗證 (2)
簡單 權限管理 mark 調用接口 cat pps 總結 回顧 bsp 前言: 構建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x註入的後臺管理系統(65)-MVC WebApi 用戶驗證 (1) 回顧上一節,我們利用w
react搭建後臺管理系統(一)
管理系 for menu port 文件中 segment 後臺管理 ans create 先準備工具: yarn安裝: npm install -g yarn #yarn也是包管理工具,只不過它構建效率更高 官方使用教程:https://yarnpkg.
從零搭建java後臺管理系統(一)
pac 阿裏 stat 技術 user 日誌 代碼 最小 mbo 框架搭建 一、初步設想,使用springboot,框架打算用到依賴 spring web,devTools,mysql,Aspect,Redis,Lombok,Freemark,Shiro,Rabbitmq
vue從入門到女裝??:從零開始搭建後臺管理系統(一)安裝框架
安裝及執行都是基於node的,不會node的可以自行百度,網上教程很多,也不難 專案效果預覽: demo1 demo2 原始碼下載 開始安裝框架: vue element-ui 注意如果報錯安裝失敗就重新安裝,不然雖然本地有element的依賴包但是可能會出一些奇怪的錯誤 另外element-ui
vue全家桶+element-UI搭建後臺管理系統(4)“:登入攔截,登陸後才可以操作”
首先明白如何實現登入攔截,他的原理是什麼?這裡主要用到的是路由攔截,在路由表裡新增一個欄位:requireAuth,用於判斷該路由的訪問是否需要登入;定義完路由後,我們主要是利用vue-router提供的鉤子函式beforeEach()對路由進行判斷。現在 我們開始.....
ASP.NET MVC5+EF6+EasyUI 後臺管理系統(20)-許可權管理系統-根據許可權獲取選單
系列目錄 不知不覺到20講,真是漫長的日子,可惜最近工作挺忙,要不可以有更多的時間來更新,多謝大家的一路支援.如果你覺得好,記得幫我點選推薦^-^ 我們在之前已經插入一些真實資料,其中包含了一個使用者和樣例程式SysSample的許可權,並實現了使用者的登入。 但有的朋友對錶
ASP.NET MVC5+EF6+EasyUI 後臺管理系統(1)-前言與目錄(持續更新中...)
編碼規範 圖標 pri log 任務 ros 部署 基本 form 開發工具:VS2015(2012以上)+SQL2008R2以上數據庫 您可以有償獲取一份最新源碼聯系QQ:729994997 價格 666RMB 升級後界面效果如下: 日程管理 http://
ASP.NET MVC5+EF6+EasyUI 後臺管理系統(65)-MVC WebApi 用戶驗證 (1)
screen 屬性 access override jquery true mod 解析 action 系列目錄 前言: WebAPI主要開放數據給手機APP,其他需要得知數據的系統,或者軟件應用,所以移動端與系統的數據源往往是相通的。 Web 用戶的身份驗證,及
ASP.NET MVC5+EF6+EasyUI 後臺管理系統(4)-創建項目解決方案
構建 文章 數據庫 操作 webapi http 業務 pps 技術分享 系列目錄 前言 為了符合後面更新後的重構系統,文章於2016-11-1日重寫 設計中術語,概念這種東西過於模糊,我們必須學習累積才能認識這些概念模型。 我無法用文章來下詳細解析此系統的深層概念,需要
ASP.NET MVC5+EF6+EasyUI 後臺管理系統(87)-MVC Excel導入和導出
.net本文示例代碼下載: 鏈接:http://pan.baidu.com/s/1jHBdgCA 密碼:hzh7ps:Vs數據庫腳本在解壓目錄下,修改web.config數據庫鏈接,示例代碼包含:導入,導出,上傳前言:導入導出實在多例子,很多成熟的組建都分裝了導入和導出,這一節演示利用LinqToExcel組
ASP.NET MVC5+EF6+EasyUI 後臺管理系統(62)-EF鏈接串加密
image title orm mst .... 比較 string類 sin isn 前言: 這一節提供一個簡單的功能,這個功能看似簡單,找了一下沒找到EF鏈接數據庫串的加密幫助文檔,只能自己寫了,這樣也更加符合自己的加密要求 有時候我們發布程序為了避免程序外的
基於ASP.NET的新聞管理系統(二)效果展示
後臺 family 技術 .net image 密碼 src 管理系 修改密碼 5. 新聞管理系統開發與實現 5.1前臺新聞頁面 主頁面 新聞欄展示新聞 搜索新聞 菜單欄鏈接新聞 後臺登錄界面 大管理員後臺管理界面 小管理員後臺管理界面 修改密
vue.js+element實現簡單的後臺管理系統(一)
最近公司趕專案,要求做一個後臺管理系統,靜態半天,介面一天,測試一天。 看了一下需求,10個頁面,16+介面,雖說調取資料的比較多,實際寫起來感覺東西還是蠻多的,也在網上查閱了很多資料,感覺都是一些開箱即用的後臺管理系統,一開始我也是想拿來修改一下就好,結果看了好幾個github上面的,感覺並不是很貼合需求
開發實戰:基於深度學習+maven+SSM+EasyUI的高校共享汽車管理系統(二)
基於深度學習+maven+SSM+EasyUI的高校共享汽車管理系統 繼上一篇 [專案需求分析](https://blog.csdn.net/ITBigGod/article/details/82729233)之後,接下來就是資料庫設計了。 作為一個管理系統,各種資訊表是必
許可權管理系統(二):許可權管理系統介紹
為什麼需要許可權管理 1、安全性:誤操作、人為破壞、資料洩露等; 2、資料隔離:不同的許可權能看到及操作不同的資料; 3、明確職責:運營、客服等不同角色,leader和dev等不同級別 許可權管理核心 1、使用者—許可權:人員少,功能固定,或者特別簡單的系統; 2、RBAC(Role-Based