基於資源的許可權系統 資料庫設計

2021-08-14 08:06:10 字數 1799 閱讀 7152

本通用許可權管理系統是基於2棵樹來做許可權管理的,這2棵樹就是 資源樹 和 組織樹

組織+資源+動作 所組成的許可權資料就是整個系統的核心。 這裡之所以只用組織而不用人員,一方面可以減少許可權資料的量,一方面還可以簡化許可權資料。

每個人員的的許可權是可以計算出來的。 人員從屬於乙個或者多個組織的,預設情況下所有人員都有乙個根組織,許可權資料為了保持簡單,只儲存組織的許可權。

真正在許可權系統中的資料只要 permission,rule,action 3張表就夠了。

user,group,resource 的資料可以放在許可權中,也可以和既有的系統對接,既有的系統提供api,能夠讓許可權訪問到user,group,resource的資訊即可。

本系統希望最後以服務的形式提供許可權管理的功能,所以每張表沒有多餘的字段,只有許可權管理必需的一些字段。 關於 人員,組織,資源 的冗餘資訊應該在各自的系統中查詢和錄入。

field name

field type

comment

idstring

許可權id

actionid

string

動作id

groupid

string

組織id

resourceid

string

資源id

field name

field type

comment

idstring

動作id

name

string

動作名稱

description

string

動作描述

field name

field type

comment

idstring

使用者id

name

string

使用者名稱password

string

密碼email

string

郵件位址

field name

field type

comment

idstring

組織id

parentid

string

父組織id

name

string

組織名稱

description

string

組織描述

field name

field type

comment

idstring

使用者組織關係id

userid

string

使用者id

groupid

string

組織id

field name

field type

comment

idstring

資源id

parentid

string

父資源id

name

string

資源名稱

description

string

資源描述

許可權規則會以外掛程式的形式加入許可權驗證的過程中,其目的就是讓許可權管理系統更加靈活,更加的通用。

關於許可權規則的定義和解析,以後再單獨介紹。

沒有許可權規則,整個許可權管理系統也可以正常執行,使用。

許可權功能幾乎是每個系統都需要的功能,也是每個系統中比較麻煩的乙個模組,不僅測試麻煩,而且一般對其他的業務侵入比較多。

本許可權系統的資料結構很簡單,以許可權資料為核心,加上與之關聯的一些表,先將基本的許可權服務提供出來。

基於角色的許可權管理系統資料庫設計

表名 使用者表 user 主鍵 id 備註 這張表唯一要求就是檢索速度?如果該張表每天有一千萬次的訪問量,該如何設計優化?filedname filedtype mainfileddescription idname otherfiled int自動增長列,主鍵約束 varchar 20 not n...

許可權系統 資料庫設計

字段型別 長度釋義 索引約束 menu id int5主鍵 唯一menu code varchar 20選單編碼 唯一 menu name varchar 20選單名稱 menu url varchar 30選單位址 唯一 menu css varchar 30選單圖示 非空 level int1 ...

基於角色的許可權設計 資料庫

最近專案中需要設計乙個許可權系統,收集了一下資料,許可權系統主要有兩種技術 acl access control list 和rbac role based access control 前者是將使用者直接和許可權關聯,並通過group來組織這些使用者,windows 系統的使用者許可權就應該屬於這...