1.檢查選中模組所屬的角色是存在的
2.繫結模組:
建立授權列表
1. 繫結本模組,加入授權列表中
2.父模組繫結
2.1 判斷是否存在父級
如果存在父級 : 獲取父模組資訊, 判斷父模組是否被授權,如果沒有被授權加入授權列表。
如果是第二級之後, 存在多個父模組的情況, 拿到本模組的treepath,即父模組的id,判斷父模組是否被授權,進行批量查詢(in 關鍵字),如果沒有被授權加入授權列表。
3.子模組繫結
3.1 如果不存在父級,則直接開始此模組。
建立子模組的treepath :
1. 如果該模組的treepath為空, 子模組treepath為該模組的id。
2. 如果該模組的treepath不為空, 子模組的treepath為 該模組的treepath+該模組的id。
根據建立的treepath進行批量查詢是否存在子模組:
1. 如果不存在, 在t_permission中批量新增授權列表,結束繫結模組。
2. 如果存在, 根據上面所建立的treepath查詢子級模組的資訊。
對查詢到的子模組判斷是否已經授權, 如果沒有授權, 加入授權列表中。
這裡為了方便,提高效率,直接將所查詢到的子模組全部解綁,
再往t_permission中批量新增授權列表,結束繫結模組。
3.解綁模組:
1.解綁本模組
2.解綁所屬的子模組
建立子模組的treepath :
1. 如果該模組的treepath為空, 子模組treepath為該模組的id。
2. 如果該模組的treepath不為空, 子模組的treepath為 該模組的treepath+該模組的id。
根據建立的treepath進行批量查詢是否存在子模組:
如果存在,根據上面所建立的treepath查詢子級模組的資訊。
對子模組判斷是否存在
1.如果不存在, 結束解綁模組。
2.如果存在,將所有子模組解綁,結束解綁模組。
關於 treepath:
string 型別 ,根級 為 null,之後的級別,一父級id組成的 ,1,2, 形式的字串
Rbac許可權管理模組設計邏輯思路
role id producecode regincode 張一上海車險查勘員 車險上海 張一上海車險核賠員 車險上海 劉二北京車險核賠員 車險北京 王五上海車險核賠員 貨運險上海 維度層級 機構和險種等維度通常是有層級的,例如 使用021表示上海市,002表示徐匯區。那麼在系統中應該這樣定義許可權...
許可權管理 chattr許可權
1 chattr 許可權 對包括root在內的所有使用者都起作用 新增chattr許可權 chattr i abc 檢視chattr許可權 lsattr abc 取消chattr許可權 chattr i abc i 針對檔案 則完全不能修改該檔案,針對目錄 只能修改目錄下檔案的資料,但不允許建立和刪...
許可權管理 ACL許可權
acl許可權簡介 當要給乙個使用者與檔案屬主 屬組 其他人許可權都不相同的時候使用,也就是說,這個使用者對於這個檔案不屬於三種身份的任何一種,是屬於第四種身份,那麼我們就需要使用acl許可權去給他賦予單獨的許可權。檢視分割槽acl許可權是否開啟 dumpe2fs h dev sda3 dumpe2f...