DRF ~ day11 之 基于角色的访问控制、django的权限演示、权限控制、simple-ui的使用、django-vue-admin演示

本文详细介绍了基于角色的访问控制(RBAC)在Django中的实现,包括Django内置的权限系统、如何进行权限控制,以及在实际开发中如何结合auth、admin和第三方库如simple-ui、django-vue-admin来快速开发和美化后台。内容涵盖了RBAC的概念、Django后台管理权限设置、用户权限操作和第三方库的使用方法。
摘要由CSDN通过智能技术生成

DRF之之 基于角色的访问控制、django的权限演示、权限控制、simple-ui的使用、django-vue-admin演示



一、RBAC - 基于角色的访问控制

1.1、什么是RBAC

  • 概念

RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。

RBAC(Role-Based Access Control)基于角色的访问控制:(针对于公司内部项目)

  • 应用
# RBAC - Role-Based Access Control
# Django的 Auth组件 采用的认证规则就是RBAC

# 1)像专门做人员权限管理的系统(CRM系统)都是公司内部使用,所以数据量都在10w一下,一般效率要求也不是很高
# 2)用户量极大的常规项目,会分两种用户:前台用户(三大认证) 和 后台用户(BRAC来管理)
# 结论:没有特殊要求的Django项目可以直接采用Auth组件的权限六表,不需要自定义六个表,也不需要断开表关系,单可能需要自定义User表
  • 前后台权限控制

1)后台用户对各表操作,是后台项目完成的,我们可以直接借助admin后台项目(Django自带的)
2)后期也可以用xadmin框架来做后台用户权限管理
3)前台用户的权限管理如何处理:

定义了一堆数据接口的视图类,不同的登录用户是否能访问这些视图类,能就代表有权限,不能就代表无权限
前台用户权限用drf框架的 三大认证

  • django中的auth其实就实现了基于角色的访问控制—》通过表控制的

在这里插入图片描述

# 表分析
'''
# django的auth其实就实现了基于角色的访问控制---》通过表控制的
	-auth_user :用户表,存用户信息
    -auth_group:组,角色,存放角色信息
    -auth_permission:权限,存放权限信息
    # 分析:一个组(角色)中,有多个用户,一个用户,属于多种角色----》多对多
    -auth_user_groups:用户和组的多对多中间表
    # 分析:一个组,可能有多个权限,一个权限,也可能属于多个组---》多对多
    -auth_group_permissions:组和权限的多对多中间件
    # django,多了张表:auth_user_user_permissions
    # 分析:一个用户,可以有多个权限,一个权限,可以分配个多个用户---》多对多
    -auth_user_user_permissions:用户和权限多对多中间表
'''

1.2 、django中,如何做权限控制的

在django的后台管理里面,登录django的admin后台账号进行操作

createsuperuser 创建超级用户
在这里插入图片描述
启动django,浏览器登录django后台()
在这里插入图片描述
http://127.0.0.1:8000/admin/
在这里插入图片描述

用之前创建的管理员用户登录后
在这里插入图片描述
登录之后实现创建在模型层的表如何显示在后台
1、创建类表然后数据迁移之后去admin.py文件中导入就能实现
在这里插入图片描述
admin.py文件中导入表
在这里插入图片描述在这里插入图片描述

权限操作,因为是超级用户创建的所以有全部权限
在这里插入图片描述

设置权限
在这里插入图片描述
在这里插入图片描述

创建用户实现不同权限操作
在这里插入图片描述
在这里插入图片描述

1.3、 我们开发中做权限控制

# python开发,公司内部项目多,使用基于角色的访问控制的权限,比较多

# python+django 开发出一套公司内部项目,要带rbac的权限控制
	-1 基于django的auth+admin 快速开发,有更多操作,但是没学
    -2 基于django的auth+admin+第三方美化 快速开发
    	-国内的:simple-ui,xadmin(弃用了)
        -国外的:
   	-3 基于django+vue+自定制权限 (现在主流
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值