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表之间:一个用户除了能拥有部门所享有的权限外还能享有特殊权限,一个权限除啦能被多个部门享有还可能被多个用户享有,多对多关系
"""

img

权限六表

img

原文地址:https://www.cnblogs.com/guanxiying/p/13307852.html