RBAC权限模型分类

本文涉及的产品
RDS AI 助手,专业版
RDS Agent(兼容OpenClaw),2核4GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: RBAC0实现用户、角色、权限的多对多关系;RBAC1引入角色继承,形成上下级;RBAC2增加静态与动态职责分离,防止权限冲突;RBAC3融合RBAC1与RBAC2,兼具继承与职责分离机制,提升权限管理的安全性与灵活性。(238字)

RBAC0
在RBAC0中,一个用户可以具备多个角色,一个角色可以具备多个权限。如下图
用户表
角色表
1:n​
权限表
1:n​
访问合集
1:n​
1:1​
用户所具备的权限是用户所具备角色的权限合集
RBAC1
RBAC1是在RBAC0的技术基础之上建立的,主要是增加了角色的继承关系,让角色有了上下级。如下图
用户表
角色表
1:n​
权限表
1:n​
访问合集
1:n​
1:1​
用户所具备的权限是用户所具备角色的权限合集
0:n​
RBAC2
RBAC2也是在RBAC0的技术基础之上建立的,引入了静态职责分离和动态职责分离。
角色互斥:在实际项目中有一些角色是互斥的,如财务就不能自己报账自己审批,对于这个角色一般不能和其他角色见人。通过职责分离可以解决这一问题。
静态职责分离:在权限配置阶段就做限制。如同一个用户不能被授予互斥的角色,授予时做互斥判断。
动态职责分离:运行阶段进行限制。如一个用户即使有多个角色,代码也会实时判断其真正有效的角色是几个。
用户表
角色表
1:n​
权限表
1:n​
访问合集
1:n​
1:1​
用户所具备的权限是用户所具备角色的权限合集
静态职责分离


动态职责分离


RBAC3
RBAC3是RBAC1和RBAC2的合体,如下图:
用户表
角色表
1:n​
权限表
1:n​
访问合集
1:n​
1:1​
用户所具备的权限是用户所具备角色的权限合集
静态职责分离


动态职责分离


0:n​

相关文章
|
5月前
|
安全 数据安全/隐私保护
什么是OAuth2.0
OAuth(开放授权)是一种安全、简易的标准,允许第三方应用在不获取用户账号密码的前提下,获得用户资源授权。OAuth2.0为OAuth的升级版,安全性更高,使用更便捷,但不兼容旧版OAuth1.0。
|
2月前
|
人工智能 供应链 监控
开发wms系统该具备那些专业能力 低代码实现专业wms系统优势
2026年,WMS已跃升为串联供应链全环节的核心基础设施。本文从定义、技术、功能、行业适配、案例及趋势六大维度,系统解析专业WMS如何通过AI、IoT、低代码等技术实现库存精准管控、作业提效、成本优化与全链协同,助力企业深度数字化转型。
|
8月前
|
JavaScript 前端开发 算法
Vue 3:下一代前端框架的革命性进化
Vue 3:下一代前端框架的革命性进化
525 103
dotNetFx40_Full_x86_x64安装步骤详解(附.NET Framework 4.0离线包使用方法)
dotNetFx40_Full_x86_x64.exe是微软.NET Framework 4.0官方安装包,兼容Win7/10/11(32/64位),为老旧工业软件、财务系统等提供运行支持。需以管理员身份运行,安装后必须重启生效。(239字)
|
5月前
|
Java 应用服务中间件 微服务
了解spring项目与springboot项目的区别和优缺点
Spring Boot是Spring的增强版,通过自动配置和Starter依赖简化开发,内置服务器支持JAR包直接运行,适合微服务与快速开发;传统Spring项目则更灵活,适合复杂定制场景。二者互补,新项目推荐Spring Boot。
|
5月前
|
XML Java 数据格式
Spring Boot 是什么?—— 简化 Spring 开发的革命性工具
自2002年Spring框架兴起,企业级Java开发迎来变革。但繁重的XML配置、复杂集成与外部容器依赖等问题凸显。2013年,Spring Boot应运而生,以自动配置、起步依赖、内嵌服务器等特性,实现“约定优于配置”,极大提升开发效率。它非替代Spring,而是其现代化加速器,让开发者专注业务,成为微服务与云原生时代的首选基石。
|
2月前
|
前端开发 JavaScript API
.NET 权限系统(RBAC)怎么设计?直接可复用
本文基于RBAC模型,详解.NET Core + Vue权限系统实战:涵盖SQL Server数据库设计、JWT认证与动态权限校验、菜单/按钮级前端控制,提供开箱即用方案,助你快速构建安全、可维护的企业级权限体系。(239字)
389 3
|
5月前
|
Java
ArrayList 的扩容机制解析
ArrayList扩容机制解析:添加元素时先检查容量,不足则触发扩容。默认初始容量为10,每次扩容1.5倍,通过数组拷贝实现,耗时O(n)。频繁扩容影响性能,建议预估容量并初始化指定大小,提升效率。
|
编译器
【项目开发】QT简单练习之QQ登录界面模仿
为了进一步加深对QT开发的理解,在学习完基础操作之后要进行一个简单的练习。
403 1
|
监控 JavaScript 前端开发
Spring Boot:简化Spring应用程序的开发
前言 Spring Boot是一个基于Spring框架的开源项目,旨在简化Spring应用程序的开发、配置和部署。本文将详细介绍Spring Boot的基本概念、特性、常用注解和实践。我们将使用一个实际的示例,帮助你更好地理解和应用Spring Boot。
7761 5
Spring Boot:简化Spring应用程序的开发