RBAC权限模型分类

简介: 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​

相关文章
|
4月前
|
人工智能 供应链 监控
开发wms系统该具备那些专业能力 低代码实现专业wms系统优势
2026年,WMS已跃升为串联供应链全环节的核心基础设施。本文从定义、技术、功能、行业适配、案例及趋势六大维度,系统解析专业WMS如何通过AI、IoT、低代码等技术实现库存精准管控、作业提效、成本优化与全链协同,助力企业深度数字化转型。
dotNetFx40_Full_x86_x64安装步骤详解(附.NET Framework 4.0离线包使用方法)
dotNetFx40_Full_x86_x64.exe是微软.NET Framework 4.0官方安装包,兼容Win7/10/11(32/64位),为老旧工业软件、财务系统等提供运行支持。需以管理员身份运行,安装后必须重启生效。(239字)
|
4月前
|
前端开发 JavaScript API
.NET 权限系统(RBAC)怎么设计?直接可复用
本文基于RBAC模型,详解.NET Core + Vue权限系统实战:涵盖SQL Server数据库设计、JWT认证与动态权限校验、菜单/按钮级前端控制,提供开箱即用方案,助你快速构建安全、可维护的企业级权限体系。(239字)
467 3
|
10月前
|
JavaScript 前端开发 算法
Vue 3:下一代前端框架的革命性进化
Vue 3:下一代前端框架的革命性进化
563 103
|
6月前
|
消息中间件 负载均衡 API
微服务的世界:从零开始理解微服务架构
本文深入浅出地介绍了微服务架构,从单体架构的优缺点切入,阐述了微服务的诞生背景、核心优势与挑战,并结合电商平台和视频平台等实际案例,解析其应用场景及关键技术,如服务通信、注册发现、负载均衡等,最后通过Todo应用演示简单设计,帮助读者全面理解微服务。
253 0
|
7月前
|
安全 数据安全/隐私保护
什么是OAuth2.0
OAuth(开放授权)是一种安全、简易的标准,允许第三方应用在不获取用户账号密码的前提下,获得用户资源授权。OAuth2.0为OAuth的升级版,安全性更高,使用更便捷,但不兼容旧版OAuth1.0。
|
7月前
|
Java 应用服务中间件 微服务
了解spring项目与springboot项目的区别和优缺点
Spring Boot是Spring的增强版,通过自动配置和Starter依赖简化开发,内置服务器支持JAR包直接运行,适合微服务与快速开发;传统Spring项目则更灵活,适合复杂定制场景。二者互补,新项目推荐Spring Boot。
|
7月前
|
Java
ArrayList 的扩容机制解析
ArrayList扩容机制解析:添加元素时先检查容量,不足则触发扩容。默认初始容量为10,每次扩容1.5倍,通过数组拷贝实现,耗时O(n)。频繁扩容影响性能,建议预估容量并初始化指定大小,提升效率。
|
7月前
|
XML Java 数据格式
Spring Boot 是什么?—— 简化 Spring 开发的革命性工具
自2002年Spring框架兴起,企业级Java开发迎来变革。但繁重的XML配置、复杂集成与外部容器依赖等问题凸显。2013年,Spring Boot应运而生,以自动配置、起步依赖、内嵌服务器等特性,实现“约定优于配置”,极大提升开发效率。它非替代Spring,而是其现代化加速器,让开发者专注业务,成为微服务与云原生时代的首选基石。
|
9月前
|
安全 Java 测试技术
《深入理解Spring》单元测试——高质量代码的守护神
Spring测试框架提供全面的单元与集成测试支持,通过`@SpringBootTest`、`@WebMvcTest`等注解实现分层测试,结合Mockito、Testcontainers和Jacoco,保障代码质量,提升开发效率与系统稳定性。