前言
前面我們搞定了基本的模塊內CURD的操作,可以參考之前的文章
- 【Laravel】Laravel-admin後臺框架-2創建數據表建立模塊增刪改查CURD(2)
- 【Laravel】Laravel-admin後臺框架-2創建數據表建立模塊增刪改查CURD(1)
- 【Laravel】Laravel-admin後臺框架-1安裝
實戰
Laravel-admin 是基於用戶的權限管理系統RBAC,並且整個菜單和授權的流程比較自由,我下面的操作流程準確的基於角色權限綁定而不是其他的。
創建權限
業務上我們創建對應的模塊,就對應一個權限的名稱。如果對於同一個模塊,不同角色擁有的操作權限不一致,就創建不同的權限。
建議權限最小化,這樣方便後續的不同業務角色對於不同權限的綁定操作。不合理的做法是一個角色綁定一個權限,這個權限內有所有垮模塊的操作
我們之前做的模塊被叫做記錄
,對應路由爲record
.那麼按最小化,創建的權限也被叫做記錄。
創建菜單
菜單的路徑對應權限的標識。
當我們創建完菜單之後,就會發現左側的菜單增加了記錄。
由於默認登錄用戶是超級管理員,有全部的權限,所以能直接訪問。
創建角色
之前提到過,每個用戶擁有不同的角色,角色下有不同權限,這樣就能支持複雜的業務邏輯。
我們創建兩個角色,一個用戶,可以登錄系統,一個編輯,可以修改記錄。
創建用戶
創建登錄用戶,如果沒有修改配置文件會報錯
原因是admin的配置文件系統默認是admin,但是文件系統配置裏沒有admin,改成默認的local即可
config/admin.php
/*
|--------------------------------------------------------------------------
| Laravel-admin upload setting
|--------------------------------------------------------------------------
|
| File system configuration for form upload files and images, including
| disk and upload path.
|
*/
'upload' => [
// Disk in `config/filesystem.php`.
'disk' => 'local', //默認是admin
// Image and file upload path under the disk above.
'directory' => [
'image' => 'images',
'file' => 'files',
],
],
用新創建的用戶登錄
可以看到對應的菜單,並且可以訪問。
總結
整體操作流程如下
- 編寫模塊
- 創建權限
- 創建菜單
- 創建角色綁定權限
- 創建用戶綁定角色
當然也可以菜單直接綁定角色和權限,不再贅述。
參考資料
- https://laravel-admin.org/docs/zh/permission