django自带的权限介绍(rbac)

权限介绍

# 1 写过权限类---》控制用户,是否有权限访问我们的接口
# 2 之前咱们直接定死,普通用户,超级用户,管理员 这种身份,给不同人设置不同权限

# 3 比如都是互联网用户:抖音  acl控制
	-游客用户只能查看
    -登陆用户可以查看和评论
    -粉丝超过1000用户,开直播
    
# 4 公司内部 这些权限
	-招员工
    -发工资
    -开发代码
    -删除代码
    -开董事会
    -开除员工
    ---分部门:开放部门:开发代码,删除代码
    ---人力资源:招员工,开除员工
    ---财务部门:发工资
    ---董事会:开董事会
    
    
# 5 常见的权限控制方案
	-1 acl :访问控制列表
    	-用户 :用户表
        -权限  :权限表
        -用户和权限中间表:是多对多:一个用户有多个权限,一个权限可能对应多个用户
        -将用户直接与权限对接,每个用户有个权限列表
        
        
    -2 RBAC:Role-Based Access Control,基于角色的访问控制
    	-将用户与角色(组,部门)对接,然后角色(组,部门)与对象的权限对接。
        
     -3 ABAC:Attribute-Based Access Control,基于属性的访问控制
     -4 PBAC:Policy-Based Access Control,基于策略的访问控制
        
        
        
# 6 作为python写的项目,一般是公司内部项目
	-python 写rbac权限控制比较多
    
    
# 7 django--》大而全--》提供了一套可以基于rbac权限控制的 后台管理
	-auth+admin:一套rbac权限控制
    -基于他admin+auth-->快速开发出公司内部的项目 
    
    
# 8 django中如何设计RBAC控制的--》通过6张表控制
	-auth_user  # 用户表
    -auth_group # 角色表,组表,部门表
    -auth_permission #权限表
    -auth_user_group # 中间表:用户和角色多对多
    -auth_grou_permission# 中间表:部门和权限
    
    -多一个:为了更细粒度的区分权限:用户和权限多对多
    -auth_user_permission
    
    
    
# 9 admin 权限演示
	-django 的admin 有什么权限,是自己增加的,就是对表的增删查改权限
    
    - 增加了个组[图书看-删-增组]:对图书有 查看,删除,增加权限
	- 增加用户 :lqz,属于--图书看-删-增组 
    	is_staff: 1
        is_active:1
        is_superuser:0 # 不是超级用户
    -root用户是超级管理员--》有所有权限
    
posted @ 2024-04-19 20:07  沉岩  阅读(18)  评论(0编辑  收藏  举报