十 drf RBAC基於角色訪問控制

2022-04-10 20:57:40 字數 2124 閱讀 1641

rbac(role-based access control)許可權模型的概念,即:基於角色的許可權控制。通過角色關聯使用者,角色關聯許可權的方式間接賦予使用者許可權。
rbac - role-based access control

django的 auth元件 採用的認證規則就是rbac

1)像專門做人員許可權管理的系統(crm系統)都是公司內部使用,所以資料量都在10w一下,一般效率要求也不是很高

2)使用者量極大的常規專案,會分兩種使用者:前台使用者(三大認證) 和 後台使用者(brac來管理)

結論:沒有特殊要求的django專案可以直接採用auth元件的許可權六表,不需要自定義六個表,也不需要斷開表關係,單可能需要自定義user表

1)後台: 使用者對各表操作,是後台專案完成的,我們可以直接借助admin後台專案(django自帶的)

後期也可以用xadmin框架來做後台使用者許可權管理. 如django的後台管理許可權

auth_user 使用者

auth_group 使用者組

auth_permission 使用者許可權

auth_user_groups 使用者屬於的使用者組, 使用者組包含的使用者

auth_group_permissions 使用者組賦予的許可權

auth_user_user_permissions 使用者屬於使用者組, 因此使用者也含有該組的許可權

2)前台: 使用者的許可權管理如何處理

定義了一堆資料介面的檢視類,不同的登入使用者是否能訪問這些檢視類,能就代表有許可權,不能就代表無許可權

前台使用者許可權用drf框架的 三大認證: 認證, 許可權, 頻率

# 自定義user表後,admin介面管理user類

class useradmin(djangouseradmin):

# 新增使用者課操作字段

add_fieldsets = (

(none, ),

)# 展示使用者呈現的字段

list_display = ('username', 'mobile', 'is_staff', 'is_active', 'is_superuser')

admin.site.register(models.user, useradmin)

admin.site.register(models.book)

admin.site.register(models.car)

先建立超級使用者, 再通過超級使用者建立普通使用者, 為普通使用者新增使用者組,

為使用者組設定a許可權. 在為使用者設定b許可權. 最後將使用者加入該使用者組中,

於是使用者在有b許可權的基礎之上, 又有了a許可權.

11 drf(RBAC)基於角色的許可權控制

rbac 是基於角色的訪問控制 role based access control 在 rbac 中,許可權與角色相關聯,使用者通過成為適當角色的成員而得到這些角色的許可權。這就極大地簡化了許可權的管理。這樣管理都是層級相互依賴的,許可權賦予給角色,而把角色又賦予使用者,這樣的許可權設計很清楚,管理...

許可權管理 基於角色的訪問

對於我們這塊東西,一開始的時候沒有想明白,於是重點就放錯了。討論了兩天的許可權角色,通過討論的這兩天對許可權,角色也有了一些認識。一 認識 許可權,角色是分不開的 使用者是不可少的,依附於角色。在應用系統中,許可權比較直觀,表現為對功能模組的操作,選單的訪問,甚至細化到某個頁面上的按鈕,div等的控...

Informix 基於角色的訪問控制

在角色訪問控制中,角色即一組被授權的操作的集合。操作 許可給 角色 許可給 使用者 乙個使用者可以擁有多個角色。乙個角色可以擁有多個使用者。角色的定義,分配,刪除,只能由管理員執行。如果使用者不具備任何角色,那將不能進行任何操作。高階角色對低階角色有繼承功能。避免重複許可權設定。兩個互斥角色不能賦值...