首页 > 其他分享 >【27.0】RBAC权限系统

【27.0】RBAC权限系统

时间:2024-04-07 18:33:54浏览次数:20  
标签:角色 permission 用户 RBAC 27.0 权限 id

【一】什么是RBAC

【1】概念

  • RBAC 是基于角色的访问控制(Role-Based Access Control )
  • 在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。
  • 这就极大地简化了权限的管理。
  • 这样管理都是层级相互依赖的,权限赋予给角色,而把角色又赋予用户,这样的权限设计很清楚,管理起来很方便。

【2】应用

  • RBAC - Role-Based Access Control
  • Django的 Auth组件 采用的认证规则就是RBAC

(1)内部系统

  • 专门做人员权限管理的系统(CRM系统)都是公司内部使用
    • 所以数据量都在10w一下,一般效率要求也不是很高

(2)用户分类

  • 用户量极大的常规项目,会分两种用户:

    • 前台用户(三大认证)

    • 后台用户(BRAC来管理)

(3)结论

  • 没有特殊要求的Django项目可以直接采用Auth组件的权限六表
  • 不需要自定义六个表,也不需要断开表关系,单可能需要自定义User表

【3】前后台权限控制

  • 1)后台用户对各表操作,是后台项目完成的
    • 我们可以直接借助admin后台项目(Django自带的)
  • 2)后期也可以用xadmin框架来做后台用户权限管理
  • 3)前台用户的权限管理如何处理
  • 定义了一堆数据接口的视图类
    • 不同的登录用户是否能访问这些视图类,能就代表有权限,不能就代表无权限
  • 前台用户权限用drf框架的
    • 三大认证

【二】RBAC关系分析

【1】权限三表

(1)用户表

  • 用户表存储用户数据
id username Pwd

(2)权限表

  • 权限表存储权限名称
id permission_name

(3)用户权限表

  • 一个用户可以有多个权限,一个权限可以对应多个用户
  • 用户和权限之间是多对多关系
id user_id permission_id

(4)图解

img

【2】权限六表

(1)用户表

  • 用户表存储用户数据
id username Pwd

(2)角色表

  • 根据不同角色区分组
id group_name

(3)权限表

  • 权限表存储权限名称
id permission_name

(4)用户角色表

  • 用户根据角色的不同,分到不同的组内
  • 比如一个部门的角色可以是组长和组员
id user_id group_id

(5)角色权限表

  • 一个角色可以有多个权限,一个权限可以对应多个角色
  • 角色和权限之间是多对多关系
id group_id permission_id

img

标签:角色,permission,用户,RBAC,27.0,权限,id
From: https://www.cnblogs.com/dream-ze/p/18119663

相关文章

  • C#开发之WPF项目中权限控制的实现(attribute)
    1功能描述实现一个权限检查机制,以确保用户根据其权限级别进行相应的操作。定义四级权限:Operator,Maintenance,Supervisor,Administrator,每一级权限都有其特定的操作范围。能够根据用户的权限级别判断用户是否有权执行特定的操作。2设计分析如果实现为接口形式,那么每次在需......
  • Linux的学习之路:4、权限
    一、Linux权限的概念权限我们都熟悉,最常见的就是在看电视时需要vip这个就是权限,然后在Linux就是有两个权限,就是管理员也就是超级用户和普通的用户命令:su[用户名]功能:切换用户。例如,要从root用户切换到普通用户user,则使用suuser。要从普通用户user切换到root用户则使......
  • linux文件权限管理1
    id+用户名可以查看用户详细信息这里第一个rw-代表属主对应权限,可读可写,第二个r--代表属组权限,即可读,第三个r--代表其他人,后面第一个root代表用户,第二个root代表用户组开头的-代表为普通文件,其他类型还有l软链接,d文件夹 在这里,我们创建了try.sh文件,并且在执行过程中发现没......
  • 权限管理策略
    1.基于角色的权限管理(Role-BasedAccessControl,RBAC)在RBAC中,角色成为了用户和权限之间的代理层,这有助于解除用户与权限之间的直接耦合,使得权限管理更加灵活和易于维护。当需要更改用户的权限时,管理员只需调整用户所担任的角色,而无需逐一修改每个用户的权限设置。RBAC通常包含......
  • linux之shell: chmod 命令后面数字权限的详细解释
    Linux中的文件权限管理在Linux系统中,文件和目录的权限管理是保证系统安全的重要机制。通过chmod命令,用户可以更改文件或目录的访问权限。权限类型Linux系统中的权限分为三种:所有者(Owner):文件或目录的创建者。组(Group):与文件或目录关联的用户组。其他用户(Others):系统......
  • 【Linux】Ubuntu 文件权限管理
    Linux系统对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功,这也是Linux有别于Windows的机制,也是基于这个权限机制,Linux可以有效防止病毒自我运行。因为运行的条件是必须要有运行的权限,而这个权限在Linux是用户所赋予的。文件权......
  • 在Linux中,文件和目录的权限有何作用以及如何修改?
    在Linux系统中,文件和目录的权限起着至关重要的作用,它们决定了哪些用户可以访问、修改或执行特定的文件或目录。这些权限确保了系统的安全性和稳定性,同时允许用户有效地管理他们的数据和资源。权限的作用:文件权限:读(r):允许用户查看文件的内容。写(w):允许用户修改文件的内容,包括添......
  • 中间件 ZK分布式专题与Dubbo微服务入门 6-13 acl - ip权限
    0课程地址https://coding.imooc.com/lesson/201.html#mid=12729 1重点关注1.1本节内容通过schema为ip的方式设置权限,只有指定ip才能操作 1.2关键代码//ip方式的aclList<ACL>aclsIP=newArrayList<ACL>();......
  • 中间件 ZK分布式专题与Dubbo微服务入门 6-12 acl -自定义用户权限
    0课程地址https://coding.imooc.com/lesson/201.html#mid=12728 1重点关注1.1本节内容通过schema为digest密文的形式设置用户权限,调用权限 1.2关键代码//自定义用户认证访问List<ACL>acls=newArrayList<ACL>();......
  • KingbaseES数据库权限简写说明
    前言为了方便,我们测试环境经常使用system用户执行测试,它拥有最高权限。角色基本上是用户和组的概念。你可以以角色身份登录,并且一个角色可以属于另一个角色。每个角色都有一个类似的属性,指示你是否可以作为该角色登录,以及该角色是否从所属角色继承权限。你可以使用命令将角色添......