RBAC-基于角色的访问控制
什么是RBAC
是基于角色的访问控制,一般用于公司内部系统,给每个部门或用户分发访问权限。
django的auth就是内置了一套基于RBAC的权限系统
是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。
前后台权限控制
# 1)后台用户对各表操作,是后台项目完成的,我们可以直接借助admin后台项目(Django自带的)
# 2)后期也可以用xadmin框架来做后台用户权限管理
# 3)前台用户的权限管理如何处理
# 定义了一堆数据接口的视图类,不同的登录用户是否能访问这些视图类,能就代表有权限,不能就代表无权限
# 前台用户权限用drf框架的 三大认证
Django中的RBAC
# 后台权限控制,公司内部系统的类似东西
'''
user表
permssion表
group表
user_groups表是user和group的中间表
group_permissions表是group和permssion中间表
user_user_permissions表是user和permission中间表
'''
# 前台(主站),需要用三大认证
Django的内置RBAC(六表)
权限三表
"""
User表:用户表
Group表:部门表
Permission表:权限表
表间关系:
User表与Group表之间:一个用户可以同时担任多个部门职务,一个部门可以有多个用户,多对多关系
Group表与Permission表之间:一个部门可以有多个权限,一个权限可以被多个部门拥有,多对多关系
User表与Permission表之间:一个用户除了能拥有部门所享有的权限外还能享有特殊权限,一个权限除啦能被多个部门享有还可能被多个用户享有,多对多关系
"""