详解三大权限模型

权限系统功能模块设计主流的九种常见权限模型 软件系统的权限控制几乎是非常常见且必备的,这篇文章整理下常见的九种模型,几乎基本够你用了,主流的权限模型主要有以下9种:1、ACL模型访问控制列表2、DAC模型自主访问控制3、MAC模型强制访问控制4、ABAC模型基于属性的访问控制,更灵活复杂5、RBAC模型基于角色的权限访问控制,最常用6、TBAC模型基于任务和工作流的访问控制7、T-RBAC模型基于任务和角色的访问控制8、OBAC模型基于对象的访问控制9、UCON模型使用控制模型。 阅读详情

👉 这是一个或许对你有用的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 

36693f5352566066ec8f408e858ae342.gif

👉这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:

  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本 

来源:juejin.cn/post/
7412933937670946850


权限控制是软件系统中常见的模块之一,权限模型是信息安全管理中用于定义和控制不同用户对系统资源访问权限的方法。每种模型有其独特的方式来指定谁可以访问什么资源、在什么条件下可以访问以及可以执行哪些操作。本文对三种最常见的权限模型进行介绍。

1. ACL 访问控制列表

ACL是一种基于对象和主体的权限控制模型,它通过为每个对象定义一个访问列表来进行权限管理,根据对特定对象的访问权限,来控制主体对该对象的访问。

ACL是最细粒度的权限控制方式,它直接将每个对象(如文件、目录或网络资源)的权限分配给具体的用户或者用户组。

ACL很好理解,对于所有的资源以及所有的用户,维护一个一一对应的权限表即可。但是,随着用户或者资源变得越来越多,权限约束会逐渐膨胀,难以维护。

d7e983d88394ed55b626c43b631521a3.jpeg


基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

2. ABAC 基于属性的权限控制模型

ABAC是一种基于属性的权限控制模型,它通过定义规则来根据主体和对象的属性来控制访问权限。这种模型可以更灵活地控制访问权限,根据更多的因素来做出访问决策。

在ABAC模型中,访问决策是基于用户的属性,如角色、部门、地理位置、所属组织等,以及资源的属性,如文件类型、所属部门等。此外,环境的属性,如时间、地点等,也可以用于决定访问权限。

ABAC模型的核心概念包括:

  1. 属性:ABAC模型以属性为基础来描述用户、资源和环境。属性通常包括标识符、类型和值。例如,一个用户的属性可以是他的部门或职位,而一个资源的属性可能是它所属的项目或类型。

  2. 策略:ABAC模型中的访问控制策略是根据属性来制定的。策略可以使用逻辑表达式来组合多个属性,以确定访问权限。例如,一个策略可以规定只有部门为“销售部”且角色为“经理”的用户才能访问销售报表。

  3. 访问控制决策:ABAC模型使用属性来做决策,根据用户的属性、资源的属性和环境的属性来决定用户是否有权访问某个资源。访问决策可以灵活地根据不同的属性组合来调整访问权限。

09776f9a6b6b7d787e95b90d15e85a52.jpeg


ABAC模型的优点包括灵活性和可扩展性,它允许组织根据具体需求和情况来定义访问规则,适应复杂的访问控制需求。ABAC模型还可以与现有的用户目录和身份管理系统集成,并且可以与其他访问控制模型如RBAC(基于角色的访问控制)和DAC(自主访问控制)配合使用,以提供更全面的访问控制保护。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

3. RBAC 按角色进行权限管理的模型

RBAC是一种按角色进行权限管理的模型,它将用户分配给特定角色,然后为每个角色分配权限。这样可以简化权限管理,提高安全性和可维护性。

RBAC模型中主要包括以下几个要素:

  1. 角色(Role) :角色是权限管理的核心,它是一组权限的集合,表示了一类用户所拥有的访问权限。角色应该根据组织的职能和权限划分得当,以便有效管理权限和精细控制用户的访问。

  2. 用户(User) :系统中的实际用户,通过将用户分配到不同的角色来获得相应的权限。

  3. 权限(Permission) :权限是指对系统资源进行操作的许可,可以是读取、写入、修改、删除等不同操作。

  4. 用户-角色关联关系(User-Role Assignment) :将用户分配到相应的角色,以确定用户的权限范围。

  5. 角色-权限关联关系(Role-Permission Assignment) :确定不同角色拥有的具体权限。


9890dca2b30c1fe4c6962872c3209c53.jpeg

RBAC模型的实现通常包括三个层次的访问控制:

  1. 用户级别的访问控制:用户根据其所属的角色具有相应的权限,从而控制用户对系统资源的访问。

  2. 角色级别的访问控制:对特定角色的权限进行管理和控制,以确保不同角色拥有正确的权限。

  3. 系统级别的访问控制:对整个系统资源进行访问控制,防止未经授权的访问。

RBAC模型具有以下优点:

  1. 灵活性:可以根据实际需要灵活划分和管理角色,并快速调整权限。

  2. 简化管理:对用户、角色和权限的管理更加简单直观,易于维护和更新。

  3. 安全性:RBAC模型可以减少了权限分配和审计工作量,有助于减少内部和外部的安全风险。

总的来说,RBAC模型通过将用户与角色相互关联,并通过角色与权限相互关联,实现了对系统资源的更加精细化的访问控制和管理。


欢迎加入我的知识星球,全面提升技术能力。

👉 加入方式,“长按”或“扫描”下方二维码噢:

7f1c31c4c1f882d397d54defcc0cade2.png

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

53f8a49bd622215286052e0a2fd9ddc7.png

901f29eb7671b8228e57a7899b8f0845.png5b532bddbc7b224d41cbe4a0e4abd6b9.pngba6ba97984001518239e2ab7f8044ecd.pngb6ff26132e210feeda1cc6a6a696ff1b.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
芋道源码解析之数据权限 数据权限是一个比较常用的功能,芋道源码通过mybatis-plus自定义插件在SQL执行前拦截并解析到对应的表,根据数据权限规则对这些表追加where条件来实现数据权限控制,对于一些需要单独指定数据权限的业务方法,通过数据权限注解和结合线程上下文对加了注解的方法进行前置和后置的处理,把当前方法适用的数据权限规则传递给数据权限SQL解析器进行额外处理,使得数据权限规则既能全局生效又能局部调整。 阅读详情

相关推荐

基于属性的访问控制模型ABAC

针对传统访问控制模型难以解决的动态、细粒度访问控制问题,研究人员提出了基于属性的访问控制模型(attribute-based access control,简称ABAC).ABAC 模型基于实体属性而不是用户身份来判决允许或拒绝用户对 资源的访问控制请求.ABAC 模型的核心要素包括主体、资源、操作以及环境约束,这些要素统一使用属性和属性值来进行表示,属性间的关系可以根据访问控制需求进行灵活的设置,提高了访问控制策略语义的表达能力和模型的灵活性,并且能够将其他访问控制模型中权限、安全标签、角色等概念用属性来

mlynb的博客 3726

软件开发的权限系统功能模块设计,分享主流的九种常见权限模型

软件系统的权限控制几乎是非常常见且必备的,这篇文章整理下常见的五种模型,几乎基本够你用了,主流的权限模型主要有以下9种:1、ACL模型访问控制列表2、DAC模型自主访问控制3、MAC模型强制访问控制基于属性的访问控制,更灵活复杂5、RBAC模型基于角色的权限访问控制,最常用6、TBAC模型基于任务和工作流的访问控制7、T-RBAC模型基于任务和角色的访问控制8、OBAC模型基于对象的访问控制9、UCON模型使用控制模型。

QC班长的博客 8366

vCenter用户权限管理实战:如何为团队分配最小权限(附详细步骤)

本文深入探讨了vCenter用户权限管理的核心原则与实战步骤,旨在帮助企业构建精细化、零信任的虚拟化安全防线。文章详细解析了vCenter权限模型中的对象、角色与传播机制,并提供了为不同团队(如基础设施、应用运维、外部开发)分配最小权限的详细操作指南,包括创建自定义角色、结构化对象分配及高级管理技巧,确保安全与运维效率的平衡。

weixin_29258297的博客 123

常见的权限模型(ACL、DAC、MAC、RBAC)和权限测试策略

常见的权限模型 1、ACL 访问控制列表 定义:规定资源可以被哪些主体进行哪些操作。 在ACL权限模型下,权限管理是围绕资源来设定的。我们可以对不同的页面设定可以访问的用户 ​ 2、DAC 自主访问控制 定义:规定资源可以被哪些主体进行哪些操作。同时,主体可以将资源、操作的权限,授予其他主体 在ACL的基础上,DAC模型将授权的权力下放,允许拥有权限的用户,可以自主地将权限授予其他用户。 ​ 3、MAC 强制访问控制 定义:当一个操作,同时满足a与b时,允许操作 a. 规定资源可以被哪些类别的主体进

hi_bigbai的博客 1万+

Android 新权限申请模型(Activity Result API)

Android权限请求新方式采用"回调注册前置+生命周期感知"模式,通过registerForActivityResult注册请求类型和回调函数,返回一个ActivityResultLauncher发射器。使用时先检查权限,未授权则调用launcher.launch()发起请求,系统自动回调结果。相比旧方式,新模式解决了生命周期不安全、requestCode混乱等问题,具有类型安全、解耦和逻辑清晰等优势。多权限请求使用RequestMultiplePermissions(),回调接收权限

2401_87663701的博客 395

【昇腾】用MindIE(服务化方式)拉起glm4-9b-chat模型问题解决

【昇腾】用MindIE拉起glm4-9b-chat模型问题解决: LLMInferEngine failed to init LLMInferModels ERR: Failed to init endpoint! Please check the service log or console output. Killed make sure the folder's owner has execute permission.

u014448841的博客 5118

详解三大权限模型:ACL,ABAC,RBAC

权限控制是软件系统中常见的模块之一,权限模型是信息安全管理中用于定义和控制不同用户对系统资源访问权限的方法。每种模型有其独特的方式来指定谁可以访问什么资源、在什么条件下可以访问以及可以执行哪些操作。本文对三种最常见的权限模型进行介绍。1. ACL 访问控制列表ACL是一种基于对象和主体的权限控制模型,它通过为每个对象定义一个访问列表来进行权限管理,根据对特定对象的访问权限,来控制主体对该对象的访问...

架构精进之路 1430

超详细neo4j安装教程

一、neo4j简介 最近开始学习知识图谱,所以首先想先学习一下neo4j的使用。 Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。由于知识图谱中存在大量的关系型信息(实体—关系—实体), 使用结构化数据库进行存储将产生大量的冗余存储信息, 因此将图数据库作为知识图谱的存储容器成为流行的选择。当前较为常用的图数据库主要有 Neo4j 等。 二、neo4j的安装 功能快捷键 撤销:Ctrl/Command + Z 重做:Ctrl/Command + Y 加粗:Ctrl/Co

qq_38335648的博客 9万+

RBAC权限模型实战图解:绘制企业权限矩阵,告别混乱授权

权限混乱的企业,本质是管理粗放。🔒安全:权限最小化,堵住内部漏洞⚡效率:新员工10分钟配好权限,离职1秒回收📊合规:审计时拿出角色矩阵表,监管直呼专业🌟 下期预告:《ABAC动态权限模型实战——用Mermaid画出“上班才能访问财务系统”的策略图》💬 互动:你们公司的角色是怎么设计的?有没有被“角色爆炸”折磨过?欢迎评论区晒出你的权限表!

sara_han的博客 1802

MacOS新手必看:HomeBrew安装避坑指南(含M1芯片适配方案)

本文为MacOS新手提供全面的HomeBrew安装指南,特别包含M1/M2芯片适配方案。从系统准备到核心安装流程,再到日常维护和高级配置,详细解析每个步骤的潜在问题及解决方案,帮助用户高效管理Mac软件。

weixin_28831399的博客 471

GEOS-Chem笔记——模式下载安装+驱动数据+运行流程

看过我博客的会发现我写了很多CESM的笔记,但是说实话,平时科研我其实更多时候是GEOS-Chemuser。之所以写了很多CESM笔记,其实是因为不会,就边学边写。然后GEOS-Chem已经用比较熟了,所以也没想过做笔记啥的。但是我发现越来越多朋友私信我各种CESM问题,我觉得我可能给大家营造了一种我是CESM达人的错觉。感觉自己有点跑偏了呢。公平起见,我觉得我有必要补充点GEOS-Chem笔记。 GEOS-Chem是研究大气化学的人常用的大气化学传输模式,在全世界范围的大气化学研究组中被广泛使用。不过.

砍柴姑娘Jourosy的博客 1万+

YugabyteDB YSQL中的基于角色的访问控制(RBAC)模型详解

在分布式数据库环境中,安全性和访问控制是至关重要的。传统的基于用户的权限管理方式在面对大规模、多租户的应用场景时显得力不从心。YugabyteDB YSQL通过基于角色的访问控制(Role-Based Access Control,RBAC)模型,为开发者提供了强大而灵活的权限管理机制。 读完本文,你将掌握: - ✅ RBAC核心概念与架构设计 - ✅ YSQL默认角色体系详解 - ✅ 权限继承...

gitblog_00026的博客 513

深入MIPI DSI显示技术栈 (三) DSI vs CSI-2:孪生协议的本质差异

MIPI协议中的DSI与CSI-2存在本质差异:DSI为输出导向协议(Host→Display),用于屏幕控制和画面传输;CSI-2为输入导向协议(Sensor→Host),专攻图像采集。二者在包结构、同步机制、物理层优化等方面均有显著区别:DSI支持命令包和BLLP包,CSI-2具备嵌入式数据包;DSI时钟模式以Burst为主,CSI-2支持Continuous模式。典型场景中,二者协同工作(如手机相机预览),需注意时序同步和延迟控制。设计混合系统时,需合理规划虚拟通道和物理层资源,充分发挥这对&quot

GateWorld的博客 2107

Laravel-admin权限管理深度解析:RBAC模型应用终极指南

Laravel-admin是一款能够帮助开发者在十分钟内构建全功能管理界面的开源工具,其内置的RBAC(基于角色的访问控制)权限管理系统为应用提供了灵活且安全的权限控制方案。本文将从核心概念、实现原理到实际应用,全面解析Laravel-admin的权限管理机制,帮助新手快速掌握权限配置的终极技巧。 ## 什么是RBAC模型?权限管理的黄金法则 🚀 RBAC(Role-Based Access

gitblog_00811的博客 344

【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

Prompt典型构成、原则与技巧,以及OpenAI API重要参数解释,助你轻松入门Prompt

同学小张的博客 2581

YOLOv13|损失函数优化篇:Focal EIOU 保持良好性能的同时,提供更高效的计算和更稳定的训练过程-包源码

Focal IoU与EIoU:目标检测中的损失函数优化 摘要:本文深入探讨了目标检测中两种重要的边界框回归损失函数优化方法。Focal IoU借鉴Focal Loss思想,通过(1-IoU)^γ因子调节损失权重,使模型更关注难样本(低IoU预测框),有效解决了传统IoU Loss对难易样本权重相同的问题。EIoU则在CIoU基础上改进,通过简化长宽比计算、分离宽高损失项,提升了计算效率和训练稳定性。两种方法分别从样本权重分配和损失函数结构优化角度,显著提升了目标检测性能,为实际应用提供了更高效的解决方案。文

FJN110的博客 1865

Frame权限系统实战指南:从零构建多层次管理员权限控制

想要构建一个安全可靠的后台管理系统?Frame权限系统为你提供了完整的解决方案!🚀 本文将带你深入了解如何使用Frame构建多层次管理员权限控制系统,从基础概念到实际应用,一步步掌握权限管理的核心技巧。 Frame是一个基于Hapi框架和MongoDB的用户系统API启动器,它提供了完整的权限管理架构,特别适合需要精细权限控制的Web应用开发。无论你是初学者还是有经验的开发者,都能通过本文快速

gitblog_00540的博客 805

SAP PI 系统复制,不只是把数据库拷过去,而是一次集成拓扑的重新落位

文章摘要:SAP PI/PO系统刷新生产数据到测试环境时,标准系统复制无法自动处理集成中枢特有的环境绑定问题。系统复制后,PI仍保留生产环境的连接配置,可能导致测试系统向生产环境发送消息。SAP提供的CTC模板可自动化部分后续配置,但无法替代人工对接口风险的全面评估。关键在于系统复制前绘制接口风险地图,复制后进行分层次验证:禁用生产连接、重定向测试接口、复核安全配置,并通过代表性链路测试确保系统行为符合预期。这需要结合SAP标准流程与业务语义判断,形成完整的治理闭环。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 85

GitHub团队权限:Introduction to GitHub角色管理

读完本文,你将能够: - 清晰区分5种组织级角色与6种仓库级权限的差异 - 掌握"最小权限原则"在团队中的落地实施步骤 - 通过可视化流程图快速定位权限配置错误 - 利用官方工具审计和回收过度授权的访问权限 ## 组织角色与权限矩阵 ### 组织级核心角色对比表 | 权限范围 | 组织所有者 | 组织成员 | 安全管理员 | 账单管理员 | 审核员 | |---...

gitblog_00251的博客 911

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

春联生成模型解决“403 Forbidden”错误:API权限配置详解

本文介绍了在星图GPU平台上自动化部署“春联生成模型-中文-base”镜像的方法,并重点解析了调用其API时常见的“403 Forbidden”错误。文章详细说明了如何通过正确配置API Key等认证信息来解决权限问题,确保用户能够顺利使用该模型快速生成富有创意的新春对联,提升节日内容创作效率。

weixin_29155599的博客 31

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Logto自定义权限策略终极指南:构建灵活的企业级授权模型

Logto是一款基于OIDC和OAuth 2.1构建的身份验证与授权基础设施,专为SaaS和AI应用设计,提供多租户、单点登录(SSO)和基于角色的访问控制(RBAC)等企业级功能。本文将详细介绍如何利用Logto的自定义权限策略功能,构建灵活且安全的企业级授权模型,帮助开发者轻松管理用户访问权限。 ## 为什么选择Logto的RBAC权限模型? 在现代企业应用中,权限管理是确保数据安全和合规

gitblog_00293的博客 358

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Pixel Epic终端快速部署:AgentCPM-Report模型卡带保护机制详解

本文介绍了如何在星图GPU平台上自动化部署🎮 像素史诗 · 智识终端 (Pixel Epic · Wisdom Terminal)镜像,快速搭建研究报告辅助系统。该终端基于AgentCPM-Report大模型,通过RPG冒险交互界面实现高质量研报生成,特别适合科研人员高效完成学术报告撰写与数据分析工作。

weixin_36288992的博客 1018

FastAPI-Admin核心功能详解:模型管理、权限控制与界面定制

FastAPI-Admin是一款基于FastAPI和TortoiseORM构建的快速管理后台框架,灵感来源于Django Admin,提供了直观的Tabler UI界面。本文将深入解析其三大核心功能:灵活的模型管理、细粒度的权限控制和高度可定制的界面设计,帮助开发者快速构建专业级管理后台。 ## 直观高效的模型管理系统 🚀 FastAPI-Admin的核心优势在于其强大的模型管理能力,通过简

gitblog_00372的博客 786

MySQL 8.0 权限管理实战:基于5种角色的订单系统权限分配SQL模板

本文详细介绍了MySQL 8.0在订单系统中的权限管理实战,基于RBAC模型设计了五种角色权限分配方案。通过最小权限原则和职责分离原则,确保数据库安全性控制,提供完整的SQL模板和高级权限控制技巧,助力企业构建安全合规的数据库权限体系。

weixin_31188927的博客 305
上一篇: 工作炒股两不误,这款IDEA插件,各位股神值得拥有!
下一篇: MySQL 处理大数据表的 3 种方案
公众号-芋道源码
博客等级 码龄10年 1634粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值