29 RBAC 基於角色的訪問控制

2022-09-20 14:24:15 字數 3136 閱讀 8087

之前學的許可權控制,針對於主站,網際網路使用者用的,對外用的系統

#公司內部系統都是使用rbac的許可權控制

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

#它是基於角色的訪問控制,一般用在公司內部系統,它是把許可權賦予給角色,角色又賦予使用者,實現許可權控制

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

#django的auth元件,如何實現?通過6張表實現的

#正常rbac需要5張表,但是django使用了6張

-使用者表:auth_user

-角色(組表):auth_group

-許可權表:auth_permission

-------------以上三個表的關係表-------

-使用者和組表的多對多:auth_user_groups

-角色和許可權多對多:auth_group_permissions

-使用者跟許可權的多對多:auth_user_user_permissions

#django有個後台管理admin:不好看,但是很有用

-早些年,公司直接基於django的admin開發出公司內部的管理系統

-頁面不好看,第三方美化:xadmin(棄用了:bootstrap+jq),******-ui(vue+elementui)

-目前主流:前端端分離

-公司純自己寫介面,前端寫vue

-開源軟體

#

rbac  是基於角色的訪問控制(role-based access control )在 rbac  中,許可權與角色相關聯,

使用者通過成為適當角色的成員而得到這些角色的許可權。這就極大地簡化了許可權的管理。

這樣管理都是層級相互依賴的,許可權賦予給角色,而把角色又賦予使用者,這樣的許可權設計很清楚,

管理起來很方便。

#

rbac - role-based access control

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

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

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

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

前後臺許可權控制

#

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

#2)後期也可以用xadmin框架來做後台使用者許可權管理

#3)前台使用者的許可權管理如何處理

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

#前台使用者許可權用drf框架的 三大認證

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

class

useradmin(djangouseradmin):

#新增使用者課操作字段

add_fieldsets =(

(none, ),

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

RBAC 基於角色的訪問控制

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...

RBAC 基於角色的訪問控制

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

了解基於角色的訪問控制 RBAC

了解基於角色的訪問控制 1.使用者表 create table t user user id number 10 primary key,user name varchar2 30 gender number 1 birthday date,create time date default sysd...