基於角色的訪問控制 (RBAC)權限管理


  RBAC(Role-Based Access Control,基於角色的訪問控制),就是用戶通過角色與權限進行關聯。簡單地說,一個用戶擁有若干角色,每一個角色擁有若干權限。這樣,就構造成“用戶-角色-權限”的授權模型。在這種模型中,用戶與角色之間,角色與權限之間,一般者是多對多的關系。

  在系統訪問中,最終判斷的是當前用戶擁有哪些權限,以使用相關的權限進行業務處理。

  在RBAC中,共有用戶、部門、權限、角色四個概念,部門是用戶的集合,角色是權限的集合;用戶可以擁有不同的權限和角色,部門也可以擁有不同的權限和角色;權限擁有上下級關系,並且在系統中可以有業務權限與數據權限兩類;部門擁有上下級關系,此設計方式沒有對權限進行繼承;部門和用戶是一對多的關系,一個部門中可以有多個用戶,一個用戶只允許屬於一個部門。

  數據表結構如下:

  1.用戶表

  表名:t_user

字段名稱

字段類型

主外鍵

是否必填

備注

user_id

varchar(32)

主鍵

必填

主鍵

login_name

varchar(255)

 

必填

登錄用戶名

login_pass

varchar(255)

 

必填

密碼

org_id

varchar(32)

外鍵

必填

所屬機構ID

user_name

varchar(255)

 

必填

真實姓名

user_phone

varchar(255)

 

 

電話號碼

user_email

varchar(255)

 

 

Email

create_date

varchar(10)

 

必填

創建日期

create_time

varchar(8)

 

必填

創建時間

create_user

varchar(32)

外鍵

必填

創建人

  2.機構表

  表名:t_organization

字段名稱

字段類型

主外鍵

是否必填

備注

org_id

varchar(32)

主鍵

必填

主鍵

org_name

varchar(255)

 

必填

機構名稱

org_code

varchar(255)

 

 

機構編碼

org_header

varchar(255)

 

 

機構負責人

parent_id

varchar(32)

表內外鍵

必填

上級機構ID,根機構的ID為空

create_date

varchar(10)

 

必填

創建日期

create_time

varchar(8)

 

必填

創建時間

create_user

varchar(32)

外鍵

必填

創建人

  3.權限表

  表名:t_right

字段名稱

字段類型

主外鍵

是否必填

備注

right_id

varchar(32)

主鍵

必填

主鍵

right_name

varchar(255)

 

必填

權限名稱

right_code

varchar(255)

 

 

權限編碼

parent_id

varchar(32)

表內外鍵

必填

父權限ID, 根權限的ID為空

create_date

varchar(10)

 

必填

創建日期

create_time

varchar(8)

 

必填

創建時間

create_user

varchar(32)

外鍵

必填

創建人

  4.用戶權限關系表

  表名:t_user_right

字段名稱

字段類型

主外鍵

是否必填

備注

ur_id

varchar(32)

主鍵

必填

主鍵

user_id

varchar(32)

外鍵

必填

用戶ID

right_id

varchar(32)

外鍵

必填

權限ID

  5.機構權限關系表

  表名:t_org_rigth

字段名稱

字段類型

主外鍵

是否必填

備注

or_id

varchar(32)

主鍵

必填

主鍵

org_id

varchar(32)

外鍵

必填

機構ID

right_id

varchar(32)

外鍵

必填

權限ID

  6.角色表

  表名:t_role

字段名稱

字段類型

主外鍵

是否必填

備注

role_id

varchar(32)

主鍵

必填

主鍵

role_name

varchar(255)

 

必填

角色名稱

create_date

varchar(10)

 

必填

創建日期

create_time

varchar(8)

 

必填

創建時間

create_user

varchar(32)

外鍵

必填

創建人

  7.用戶角色關系表

  表名:t_user_role

字段名稱

字段類型

主外鍵

是否必填

備注

ur_id

varchar(32)

主鍵

必填

主鍵

user_id

varchar(32)

外鍵

必填

用戶ID

role_id

varchar(32)

外鍵

必填

角色ID

  8.機構角色關系表

  表名:t_org_role

字段名稱

字段類型

主外鍵

是否必填

備注

or_id

varchar(32)

主鍵

必填

主鍵

org_id

varchar(32)

外鍵

必填

機構ID

role_id

varchar(32)

外鍵

必填

角色ID

  9.角色權限關系表

  表名:t_role_right

字段名稱

字段類型

主外鍵

是否必填

備注

rr_id

varchar(32)

主鍵

必填

主鍵

role_id

varchar(32)

外鍵

必填

角色ID

right_id

varchar(32)

外鍵

必填

權限ID


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM