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. 缺点:增加了查询效率

猜你喜欢

转载自www.cnblogs.com/XuChengNotes/p/11938832.html
今日推荐