1. 程式人生 > 實用技巧 >RBAC-基於角色的訪問控制

RBAC-基於角色的訪問控制

什麼是RBAC

是基於角色的訪問控制,一般用於公司內部系統,給每個部門或使用者分發訪問許可權。

django的auth就是內建了一套基於RBAC的許可權系統

是基於角色的訪問控制(Role-Based Access Control )在 RBAC  中,許可權與角色相關聯,使用者通過成為適當角色的成員而得到這些角色的許可權。這就極大地簡化了許可權的管理。這樣管理都是層級相互依賴的,許可權賦予給角色,而把角色又賦予使用者,這樣的許可權設計很清楚,管理起來很方便。

前後臺許可權控制

# 1)後臺使用者對各表操作,是後臺專案完成的,我們可以直接藉助admin後臺專案(Django自帶的)
# 2)後期也可以用xadmin框架來做後臺使用者許可權管理

# 3)前臺使用者的許可權管理如何處理
#   定義了一堆資料介面的檢視類,不同的登入使用者是否能訪問這些檢視類,能就代表有許可權,不能就代表無許可權
#   前臺使用者許可權用drf框架的 三大認證

Django中的RBAC

# 後臺許可權控制,公司內部系統的類似東西
'''
	user表
    permssion表
    group表
    user_groups表是user和group的中間表
    group_permissions表是group和permssion中間表
    user_user_permissions表是user和permission中間表
'''
# 前臺(主站),需要用三大認證

Django的內建RBAC(六表)

許可權三表

"""
User表:使用者表
Group表:部門表
Permission表:許可權表
表間關係:
	User表與Group表之間:一個使用者可以同時擔任多個部門職務,一個部門可以有多個使用者,多對多關係
	Group表與Permission表之間:一個部門可以有多個許可權,一個許可權可以被多個部門擁有,多對多關係
	User表與Permission表之間:一個使用者除了能擁有部門所享有的許可權外還能享有特殊許可權,一個許可權除啦能被多個部門享有還可能被多個使用者享有,多對多關係
"""

許可權六表