套件名稱 : Virtualorz/Permission

開發年份 : 2019

gitHub連結 : https://github.com/virtualorz/permission

依賴套件 : Virtualorz/ActionLog , Virtualorz/Sitemap

內容簡介 :

提供最基礎的登入檢查、權限檢查以及快速權限設定畫面產生以及CRUD內容,依賴bootstrap,可以快速的產生CRUD畫面以及功能

依賴於Virtualorz/Sitemap結構,可以從laravel rout中直接產生所有頁面權限樹狀圖,並且依賴Virtualorz/ActionLog寫下權限CRUD的操作紀錄

安裝方式 :

編輯 config/app.php

發布資料 :

執行Migration :

編輯 config/permission_identity

編輯 .env

使用方式 :

建立middleware,在middleware中呼叫 ‘checkLogin’ , ‘checkLoginCustomer’ , ‘checkPermission’ 登方法,用於確認管理員、客戶是否登入,以及管理員是否有頁面使用權限

使用範例 :

1.在middleware中使用checkLogin

2.在middleware中使用checkLoginCustomer

3.在middleware中使用checkPermission

4.在VIew中建立權限樹狀圖

方法簡介 :

1.checkLogin($request)

檢查管理員是否已經登入,如果是回傳true, 否則依據env(‘LOGINPAGE)重新導向到登入頁面

2.checkLoginCustomer($request,$parameter)

檢查前台會員是否已經登入,如果是回傳true, 否則依據env(‘LOGINPAGE_CUSTOMER’)重新導向到登入頁面,並且帶入$parameter到route參數

3.checkPermission

檢查管理員是否有使用此頁面的權限,如果有則會傳true,沒有則直接跳出403沒有權限頁面

4.groupList($keyword = null,$page = 15)

用於後台建立權限群組CRUD,列表所有全組名稱,$keyword用於搜尋,$page用於分頁顯示每個頁面多少筆資料

5.groupAdd($column)

用於後台建立權限群組CRUD,新增一個權限群組,

$column[‘name’] : 群組名稱

$column[‘identity’] : 身份別,定義於config/permission_identity中

$column[‘permission] : 權限樹狀圖回傳之陣列(JSON)

6.getGroupItem($id)

用於後台建立權限群組CRUD,取得id = $id 之群組資料

7.groupEdit($column)

用於後台建立權限群組CRUD,編輯一個權限群組,

$column[‘name’] : 群組名稱

$column[‘identity’] : 身份別,定義於config/permission_identity中

$column[‘permission] : 權限樹狀圖回傳之陣列(JSON)

$column[‘id’] : 要編輯之資料ID

8.groupDelete($column)

用於後台建立權限群組CRUD,刪除id = $column[‘id’]之資料

9.permissionList($keyword = null,$page = 15)

用於後台建立人員權限CRUD,列表所有人員名稱,$keyword用於搜尋,$page用於分頁顯示每個頁面多少筆資料

10.getPermissionItem($id)

用於後台建立人員權限CRUD,取得人員id = $id 之權限資料

11.permissionEdit($column)

用於後台建立人員權限CRUD,編輯人員權限

$column[‘select’] : 已選擇之權限群組ID(Array)

$column[‘id’] : 人員ID

12.permissionDelete($column)

用於後台建立人員權限CRUD,刪除人員ID = $id之權限資料

備註 :

權限樹狀圖使用bootstrap tree-view套件處理,顯示如下

laravel permission
laravel permission

最新版本請參考gitHub連結說明