首先,新年好,哈哈。
先放上資料庫指令碼.sql
結束嘮叨,下面進入主題。
既然是簡單的許可權系統,那麼就從最簡單的地方開始,一步步完善系統的資料庫設計。
任何乙個許可權系統都至少有使用者吧,呵呵,不然還叫什麼許可權系統呢。
大致需要以上這些屬性,因為是比較簡單的,所以就沒弄多少,如果需要擴充套件,可以使用profile來實現。
然後就是角色屬性及角色屬性和使用者屬性的繫結,形成角色使用者的聯絡。
按部就班的來,role_info表主要的屬性就id,level,level用於標誌使用者角色等級,是個比較有用的屬性,在邏輯操作中可以較明確的實現樹形許可權層次的展開。
下面就是儲存使用者行為的action表了,儲存需要的操作許可權,基本上如下,有需要更加細密度的操作可以自己酌情新增。
由於系統簡單,需要管理的主要有頁面目錄,即需要乙個menu表,然後還需要乙個catalog表來實現對自己增加的專案的管理,如檔案儲存等,根據自己需要來增加表。
下面以我使用的文件儲存目錄catalog_info表來說明,catalog_info表如下:
主要就是father_id,id,level,使用father_id是為了實現樹形的許可權,也便於操作,在以後的文章中我會詳細的說。
所有的操作都是通過角色來操作的,當然也是可以單獨通過對使用者來操作許可權。
role_action_catalog表3個屬性來實現 動作——角色——目錄的許可權定義。
permission_catalog_info表實現 動作——使用者——目錄的許可權定義。
具體資料約束看資料庫整體檢視。
到這裡乙個簡單的細分到角色和使用者的許可權資料庫就完成了。
許可權系統 資料庫設計
字段型別 長度釋義 索引約束 menu id int5主鍵 唯一menu code varchar 20選單編碼 唯一 menu name varchar 20選單名稱 menu url varchar 30選單位址 唯一 menu css varchar 30選單圖示 非空 level int1 ...
通用許可權管理設計篇(二) 資料庫設計
理清了物件關係之後,讓我們接著來進行資料庫的設計。在資料庫建模時,對於n對n的 關係,一般需要加入乙個關聯表來表示關聯的兩者的關係。初步估計一下,本系統至少需要十張表,分別為 許可權表 使用者表 角色表 組表 使用者許可權關聯表 用 戶角色關聯表 角色許可權關聯表 組許可權關聯表 組角色關聯表 使用...
通用許可權管理設計篇(二) 資料庫設計
理清了物件關係之後,讓我們接著來進行資料庫的設計。在資料庫建模時,對於n對n的 關係,一般需要加入乙個關聯表來表示關聯的兩者的關係。初步估計一下,本系統至少需要十張表,分別為 許可權表 使用者表 角色表 組表 使用者許可權關聯表 用 戶角色關聯表 角色許可權關聯表 組許可權關聯表 組角色關聯表 使用...