Django-CRM项目学习(六)-rbac模块(权限组件)

时间:2023-03-09 00:19:20
Django-CRM项目学习(六)-rbac模块(权限组件)

1.rbac权限组件

1.1 模板分析(五表结构)

Django-CRM项目学习(六)-rbac模块(权限组件)

1.2 模板构建

人物和角色进行多对多绑定,角色与权限进行多对多绑定。其中人物和角色的多对多绑定的操作可以避免相同的人物多重权限的操作。

1.3 数据构建

基于之前的stark组件,在rbac中注册三个类,并添加内容

Django-CRM项目学习(六)-rbac模块(权限组件)

在rbac中创建俩个类,并添加内容

Django-CRM项目学习(六)-rbac模块(权限组件)

通过stark组件,注册数据,实现增删改查的功能

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

1.4 构建登陆页面,根据登陆获取用户的权限

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

1.5 根据session的内容,根据中间件权限校验

1.5.1 中间件导入

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

导包:
Django-CRM项目学习(六)-rbac模块(权限组件)

注:在中间件中,如果return None则代表无内容进行放行

1.5.2 中间件验证权限

1.5.2.1 超级用户

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

1.5.2 白名单

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

1.5.3 检查人员是否登陆

Django-CRM项目学习(六)-rbac模块(权限组件)

1.5.4 权限校验

Django-CRM项目学习(六)-rbac模块(权限组件)

1.5.5 无权限展示内容

如果权限不够,,则返回最后的错误字段,直接拦截该角色权限不够。

Django-CRM项目学习(六)-rbac模块(权限组件)

Django-CRM项目学习(六)-rbac模块(权限组件)

a