許可權管理邏輯

2022-09-04 17:54:10 字數 1137 閱讀 4961

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