基于角色的访问控制(rbac)权限管理

alexliuzw alexliuzw     2023-03-09     743

关键词:

  RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

  在系统访问中,最终判断的是当前用户拥有哪些权限,以使用相关的权限进行业务处理。

  在RBAC中,共有用户、部门、权限、角色四个概念,部门是用户的集合,角色是权限的集合;用户可以拥有不同的权限和角色,部门也可以拥有不同的权限和角色;权限拥有上下级关系,并且在系统中可以有业务权限与数据权限两类;部门拥有上下级关系,此设计方式没有对权限进行继承;部门和用户是一对多的关系,一个部门中可以有多个用户,一个用户只允许属于一个部门。

  数据表结构如下:

  1.用户表

  表名:t_user

字段名称

字段类型

主外键

是否必填

备注

user_id

varchar(32)

主键

必填

主键

login_name

varchar(255)

 

必填

登录用户名

login_pass

varchar(255)

 

必填

密码

org_id

varchar(32)

外键

必填

所属机构ID

user_name

varchar(255)

 

必填

真实姓名

user_phone

varchar(255)

 

 

电话号码

user_email

varchar(255)

 

 

Email

create_date

varchar(10)

 

必填

创建日期

create_time

varchar(8)

 

必填

创建时间

create_user

varchar(32)

外键

必填

创建人

  2.机构表

  表名:t_organization

字段名称

字段类型

主外键

是否必填

备注

org_id

varchar(32)

主键

必填

主键

org_name

varchar(255)

 

必填

机构名称

org_code

varchar(255)

 

 

机构编码

org_header

varchar(255)

 

 

机构负责人

parent_id

varchar(32)

表内外键

必填

上级机构ID,根机构的ID为空

create_date

varchar(10)

 

必填

创建日期

create_time

varchar(8)

 

必填

创建时间

create_user

varchar(32)

外键

必填

创建人

  3.权限表

  表名:t_right

字段名称

字段类型

主外键

是否必填

备注

right_id

varchar(32)

主键

必填

主键

right_name

varchar(255)

 

必填

权限名称

right_code

varchar(255)

 

 

权限编码

parent_id

varchar(32)

表内外键

必填

父权限ID, 根权限的ID为空

create_date

varchar(10)

 

必填

创建日期

create_time

varchar(8)

 

必填

创建时间

create_user

varchar(32)

外键

必填

创建人

  4.用户权限关系表

  表名:t_user_right

字段名称

字段类型

主外键

是否必填

备注

ur_id

varchar(32)

主键

必填

主键

user_id

varchar(32)

外键

必填

用户ID

right_id

varchar(32)

外键

必填

权限ID

  5.机构权限关系表

  表名:t_org_rigth

字段名称

字段类型

主外键

是否必填

备注

or_id

varchar(32)

主键

必填

主键

org_id

varchar(32)

外键

必填

机构ID

right_id

varchar(32)

外键

必填

权限ID

  6.角色表

  表名:t_role

字段名称

字段类型

主外键

是否必填

备注

role_id

varchar(32)

主键

必填

主键

role_name

varchar(255)

 

必填

角色名称

create_date

varchar(10)

 

必填

创建日期

create_time

varchar(8)

 

必填

创建时间

create_user

varchar(32)

外键

必填

创建人

  7.用户角色关系表

  表名:t_user_role

字段名称

字段类型

主外键

是否必填

备注

ur_id

varchar(32)

主键

必填

主键

user_id

varchar(32)

外键

必填

用户ID

role_id

varchar(32)

外键

必填

角色ID

  8.机构角色关系表

  表名:t_org_role

字段名称

字段类型

主外键

是否必填

备注

or_id

varchar(32)

主键

必填

主键

org_id

varchar(32)

外键

必填

机构ID

role_id

varchar(32)

外键

必填

角色ID

  9.角色权限关系表

  表名:t_role_right

字段名称

字段类型

主外键

是否必填

备注

rr_id

varchar(32)

主键

必填

主键

role_id

varchar(32)

外键

必填

角色ID

right_id

varchar(32)

外键

必填

权限ID

rbac基于角色的访问控制

RBAC(Role-BasedAccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色... 查看详情

基于角色的访问控制(rbac)权限管理

  RBAC(Role-BasedAccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,... 查看详情

简单的rbac用户角色权限控制

...式有:JQuery的zTree设计权限树; 权限框架shiro; 基于角色的访问控制RBAC;这是我所知道的几种权限管理,如果有误或是还有其他的方法,望指正! 而今天我要说的就是基于角色 查看详情

rbac基于角色的权限访问控制

多对多,用中间表  查看详情

rbac权限控制(代码片段)

...库登陆6、动态权限角色拦截  什么是RBAC权限模型r基于角色的权限访问控制(Role-BasedAccessControl)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适... 查看详情

djang之基于角色的权限控制(rbac)(代码片段)

一、后端部分1.models设计实现:特定角色拥有访问特定url路径,角色关联用户,以此来控制用户的访问。如:管理员:可以访问所有的url地址,甲关联了管理员,则甲拥有访问所有url地址的权限,普通用户:只拥有访问查看数据... 查看详情

基于角色与基于资源的权限访问控制

  基于角色的权限访问控制RBAC(role-basedaccesscontrol)是以角色为中心进行的访问控制,也就是判断主体subject是那个角色的方式进行权限访问控制,是粗粒度的  基于资源的权限访问控制RBAC(resource-basedaccesscontrol)是以资源... 查看详情

rbac权限管理

RBAC(Role-BasedAccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色... 查看详情

rbac权限管理

  基于角色的访问控制(Role-BasedAccessControl)就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角... 查看详情

rbac介绍

  基于角色的权限访问控制(Role-BasedAccessControl)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简... 查看详情

什么是rbac?

参考技术A什么是RBAC?全称:role-basedaccesscontrol基于角色的权限访问控制作用:实现访问控制RBAC模型概括RBAC权限授权的过程可以概括为:W是否可以对Z进行H的访问操作,并对这个逻辑表达式进行判断是否为true的过程,也是将权... 查看详情

django的rbac介绍1

...django的权限管理叫做RBAC我们在百度上查看RBAC的概念如下基于角色的权限访问控制(Role-BasedAccessControl)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适... 查看详情

基于rbac权限控制模型的管理系统的设计与实现(代码片段)

文章目录一、RBAC权限设计1.1模型概述1.2模型分类二、基于RBAC的后台管理系统2.1项目概述2.2技术选型2.3内部处理流程2.4功能模块展示2.5权限控制展示2.6下载说明一、RBAC权限设计1.1模型概述  基于角色的访问控制RBAC,是实施... 查看详情

基于rbac权限控制模型的管理系统的设计与实现(代码片段)

文章目录一、RBAC权限设计1.1模型概述1.2模型分类二、基于RBAC的后台管理系统2.1项目概述2.2技术选型2.3内部处理流程2.4功能模块展示2.5权限控制展示2.6下载说明一、RBAC权限设计1.1模型概述  基于角色的访问控制RBAC,是实施... 查看详情

rbac相关的配置

一、什么是RBAC基于角色的访问控制(Role-BasedAccessControl)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极... 查看详情

权限管理(rbac)

...授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定。RBAC中许可被授权给角色,角色被授权给用户,用户不直接与许可关联。RBAC对访问权限的授权由管理员统一管理,RBAC根据用户在组织内所处的角色作出访问授... 查看详情

云原生kubernetes-基于角色的访问控制rbac(代码片段)

简述RBAC是一种基于组织中用户的角色来调节控制对计算机或网络资源的访问的方法。简言之,不同用户之间拥有不同的访问权限,就像我们在使用ELK日志系统时,运维人员具有最高权限,根据其他人员的需求对不同的index分配可... 查看详情

rbac用户权限管理数据库设计

...类: RBAC权限设计 RBAC RBAC(Role-BasedAccessControl,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成"用户-角色-权限"的授权模型。 查看详情