Django框架之RBAC+ContentType

Posted xuchengnotes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django框架之RBAC+ContentType相关的知识,希望对你有一定的参考价值。

RBAC(基于角色的权限访问控制), 在django框架中已经帮我们实现好了。

一、基于角色的权限访问控制的六张表

技术图片

技术图片

技术图片

二、content_type表

技术图片

# 给Django中的所有模块中的所有表进行编号存储到content_type表中
# 应用一:权限表的权限是操作表的,所有在权限表中有一个content_type表的外键,标识该权限具体操作的是哪张表
# 应用二:价格策略

"""
Course:
name、type、days、price、vip_type
基础  免费课  7      0
中级  学位课  180    69
究极  会员课  360         至尊会员


Course:
name、type、days、content_type_id
基础  免费课  7    null
中级  学位课  180   1
究极  会员课  360   2

app01_course_1
id、price

app01_course_2
id vip_type

content_type表(Django提供)
id、app_label、model
1   app01    course_1
2   app01    course_2
"""

content_type表作用: 作为两张表之间的关联第三张表,标识该权限具体操作的是哪张表

  1. 应用一:权限表的权限是操作表的,所有在权限表中有一个content_type表的外键,标识改权限具有操作哪一张表的权限
  2. 应用二:价格策略
  3. 缺点:增加了查询效率

以上是关于Django框架之RBAC+ContentType的主要内容,如果未能解决你的问题,请参考以下文章

Django web框架之权限管理一

Django的ContentType框架django_conent_type

Django之ContentType详解

django之contenttype组件

Django之contenttype

Django 之 ContentType组件