Django实现RBAC权限管理
第四张表可以使用 ManyToManyField 创建
ManyToManyField 及查看文档
ManyToManyField网址:
https://blog.csdn.net/weixin_56052356/article/details/119985570
RBAC概述
RBAC(Role-Based Access Control,基于角色的访问控制),通过角色绑定权限,然后给用户划分角色。
比如说:一个用户拥有若干个角色,这个角色又拥有若干个权限
再比如说: 一个公司CEO,具有公司全局的权限;部门经理,具有部门全局的权限;部门主管,具有部门部分的权限;普通员工,具有部门一小部分权限。
不同的角色,能够获取的权限是不同的,角色的引入,用权限管理就会非常的灵活
CEO管理权限管理权限:商品管理、用户管理、系统设置、广告管理、订单管理、报表管理
部门经理管理权限:商品管理、用户管理、广告管理、订单管理
部门主管管理权限: 商品管理、广告管理、订单管理
models.py模型的创建
from django.db import models
# 用 ManyToManyField 创建一个多对多关系的表:一种角色可以有多个权限,一个权限可以有多种角色
# 比如: 一本书可以有多个作者,一个作者可以有多本书
# 管理员表关联角色表 分配职位
# 职位表和权限表是多对多关系
# 职位表
class Roles(models.Model):
name = models.