RBAC 基於角色的訪問控制

2022-09-20 14:18:09 字數 2073 閱讀 1333

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框架的 三大認證

# 後台的控制許可權(公司內部系統,crm,erp,協同平台)

user表

permssion表

group表

user_group表是user表和group的中間表

group_permissions是group和permssion的中間表

user_user_permssion是user表和permssion的中間表

from django.db import models

from django.contrib.auth.models import abstractuser

class user(abstractuser):

mobile = models.charfield(max_length=11, unique=true)

def __str__(self):

return self.username

class book(models.model):

name = models.charfield(max_length=64)

def __str__(self):

return self.name

class car(models.model):

name = models.charfield(max_length=64)

def __str__(self):

return self.name

from django.contrib import admin

# register your models here.

from api import models

from django.contrib.auth.admin import useradmin as djangouseradmin

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

class useradmin(djangouseradmin):

# 新增使用者課操作字段

add_fieldsets = (

(none, ),

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

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

admin.site.register(models.user)

admin.site.register(models.book)

admin.site.register(models.car)

RBAC 基於角色的訪問控制

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

了解基於角色的訪問控制 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...

基於角色的許可權訪問控制 RBAC

五個表 管理員表 z admin create table z admin id smallint 5 unsigned not null auto increment comment 管理員id username varchar 50 collate utf8mb4 unicode ci not ...