django自帶的許可權介紹(rbac)

沉岩發表於2024-04-19

許可權介紹

# 1 寫過許可權類---》控制使用者,是否有許可權訪問我們的介面
# 2 之前咱們直接定死,普通使用者,超級使用者,管理員 這種身份,給不同人設定不同許可權

# 3 比如都是網際網路使用者:抖音  acl控制
	-遊客使用者只能檢視
    -登陸使用者可以檢視和評論
    -粉絲超過1000使用者,開直播
    
# 4 公司內部 這些許可權
	-招員工
    -發工資
    -開發程式碼
    -刪除程式碼
    -開董事會
    -開除員工
    ---分部門:開放部門:開發程式碼,刪除程式碼
    ---人力資源:招員工,開除員工
    ---財務部門:發工資
    ---董事會:開董事會
    
    
# 5 常見的許可權控制方案
	-1 acl :訪問控制列表
    	-使用者 :使用者表
        -許可權  :許可權表
        -使用者和許可權中間表:是多對多:一個使用者有多個許可權,一個許可權可能對應多個使用者
        -將使用者直接與許可權對接,每個使用者有個許可權列表
        
        
    -2 RBAC:Role-Based Access Control,基於角色的訪問控制
    	-將使用者與角色(組,部門)對接,然後角色(組,部門)與物件的許可權對接。
        
     -3 ABAC:Attribute-Based Access Control,基於屬性的訪問控制
     -4 PBAC:Policy-Based Access Control,基於策略的訪問控制
        
        
        
# 6 作為python寫的專案,一般是公司內部專案
	-python 寫rbac許可權控制比較多
    
    
# 7 django--》大而全--》提供了一套可以基於rbac許可權控制的 後臺管理
	-auth+admin:一套rbac許可權控制
    -基於他admin+auth-->快速開發出公司內部的專案 
    
    
# 8 django中如何設計RBAC控制的--》透過6張表控制
	-auth_user  # 使用者表
    -auth_group # 角色表,組表,部門表
    -auth_permission #許可權表
    -auth_user_group # 中間表:使用者和角色多對多
    -auth_grou_permission# 中間表:部門和許可權
    
    -多一個:為了更細粒度的區分許可權:使用者和許可權多對多
    -auth_user_permission
    
    
    
# 9 admin 許可權演示
	-django 的admin 有什麼許可權,是自己增加的,就是對錶的增刪查改許可權
    
    - 增加了個組[圖書看-刪-增組]:對圖書有 檢視,刪除,增加許可權
	- 增加使用者 :lqz,屬於--圖書看-刪-增組 
    	is_staff: 1
        is_active:1
        is_superuser:0 # 不是超級使用者
    -root使用者是超級管理員--》有所有許可權
    

相關文章