[Django REST framework - RBAC-基于角色的访问控制、base64编码 、xadmin的使用]JavaScript基础以及进阶知识Git常用命令超级详细(全网最详细)完了,又火一个项目Vue 两个字段联合校验典型例子--修改密码ES2021 新特性!(数据科学学习手札124)pandas 1.3版本主要更新内容一览动态规划_备忘录法_矩阵链乘问题最新的.NET 热重载介绍基于uni-app全端弹框组件uaPopup「兼容h5+小程序+app端|nvue」Inn

[Django REST framework - RBAC-基于角色的访问控制、base64编码 、xadmin的使用] 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(六表) 1 权限3个表 - 用户表:auth_user - 角色表:auth_group - 权限表:auth_permission 2 权限6个表(正常是5个表),django的auth,用的就是6表 - 用户表:auth_user - 角色表:auth_group - 权限表:auth_permission - 角色和权限是多对多:auth_group_permissions (G_P关系表) - 用户和角色是多对多:auth_user_groups (U_G关系表) - 用户和权限的多对多表:auth_user_user_permissions (U_P关系表) 权限六表:RBAC - Role-Based Access Control 三表

[Django REST framework - RBAC-基于角色的访问控制、base64编码 、xadmin的使用]JavaScript基础以及进阶知识Git常用命令超级详细(全网最详细)完了,又火一个项目Vue 两个字段联合校验典型例子--修改密码ES2021 新特性!(数据科学学习手札124)pandas 1.3版本主要更新内容一览动态规划_备忘录法_矩阵链乘问题最新的.NET 热重载介绍基于uni-app全端弹框组件uaPopup「兼容h5+小程序+app端|nvue」Inn

权限六表

[Django REST framework - RBAC-基于角色的访问控制、base64编码 、xadmin的使用]JavaScript基础以及进阶知识Git常用命令超级详细(全网最详细)完了,又火一个项目Vue 两个字段联合校验典型例子--修改密码ES2021 新特性!(数据科学学习手札124)pandas 1.3版本主要更新内容一览动态规划_备忘录法_矩阵链乘问题最新的.NET 热重载介绍基于uni-app全端弹框组件uaPopup「兼容h5+小程序+app端|nvue」Inn

总结 # 1)后台用户对各表操作,是后台项目完成的,我们可以直接借助admin后台项目(Django自带的) # 2)后期也可以用xadmin框架来做后台用户权限管理 # 3)前台用户的权限管理如何处理 # 定义了一堆数据接口的视图类,不同的登录用户是否能访问这些视图类,能就代表有权限,不能就代表无权限 # 前台用户权限用drf框架的 三大认证 # 注:前台用户权限会基于 jwt 认证 做项目是否要分表管理前后台用户 """ 1)是否需要分表 答案:不需要 理由:前后台用户共存的项目,后台用户量都是很少;做人员管理的项目,基本上都是后台用户;前后台用户量都大的会分两个项目处理 2)用户权限六表是否需要断关联 答案:不需要 理由:前台用户占主导的项目,几乎需求只会和User一个表有关;后台用户占主导的项目,用户量不会太大 3)Django项目有没有必须自定义RBAC六表 答案:不需要 理由:auth组件功能十分强大且健全(验证密码,创建用户等各种功能);admin、xadmin、jwt、drf-jwt组件都是依赖auth组件的(自定义RBAC六表,插件都需要自定义,成本极高) """ base64编码 # base64编码 ### 编码 import base64 import json dic={'name':'lqz','id':1} user_info_str=json.dumps(dic) # 序列化为str类型 # res=base64.b64encode(bytes(user_info_str,encoding='utf-8')) ↑ ↓ 相等 res=base64.b64encode(user_info_str.encode('utf-8')) print(res) # eyJuYW1lIjogImxxeiIsICJpZCI6IDF9 ### 解码 res=base64.b64decode('TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ='.encode('utf-8')) print(res) ### 注意:base64长度是4的倍数,如果不足,需要用 = 补齐 xadmin的使用 1 django后台管理admin 2 xadmin,美化页面,bootstrap+jq, -django:1.x,2.x -3.x以后就不用了 3 simple-ui 3.x用 4 django是1.x pip3 install xadmin 5 django是2.x pip install git+git://github.com/sshwsfc/xadmin.git@django2 6 碰到一个第三方插件,有些bug -pip3 install 名字:装到解释器中---》下次换了别的解释器,改了源码,又得重新改 -把第三方插件的源码拿出来 -放到自己项目里,想怎么改,就怎么改 7 Xadmin和django的xadmin压根没有联系 - -纯前端(html,css,js)后台模板 -跟语言无关 -xadmin和layui的区别 基于layui写的后台管理模板 8 基于bootstrap的后台管理模板 -admin lte 9 前后端分离 -后台模板 -vue-admin

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyswxy.html