做网站最大的公司,米托网站建设,导出wordpress到文本,搜图片百度识图一 什么是RBAC
概念
RBAC 是基于角色的访问控制#xff08;Role-Based Access Control #xff09;在 RBAC 中#xff0c;权限与角色相关联#xff0c;用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的#…一 什么是RBAC
概念
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框架的 三大认证二 Django的内置RBAC(六表)
权限三表 权限六表 三 实操
models.py
from django.db import modelsfrom django.contrib.auth.models import AbstractUser
class User(AbstractUser):mobile models.CharField(max_length11, uniqueTrue)def __str__(self):return self.usernameclass Book(models.Model):name models.CharField(max_length64)def __str__(self):return self.nameclass Car(models.Model):name models.CharField(max_length64)def __str__(self):return self.nameadmin.py
from . import modelsfrom django.contrib.auth.admin import UserAdmin as DjangoUserAdmin# 自定义User表后admin界面管理User类
class UserAdmin(DjangoUserAdmin):# 添加用户课操作字段add_fieldsets ((None, {classes: (wide,),fields: (username, password1, password2, is_staff, mobile, groups, user_permissions),}),)# 展示用户呈现的字段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)这样就可以登陆到admin后台进行操作了