2.通用权限管理模型

简介: 本文介绍了ACL和RBAC两种常见的权限模型。ACL通过直接为用户或角色授权实现控制,简单直观;RBAC则基于角色分配权限,解耦用户与权限关系,更易维护。文中还详解了RBAC0-RBAC3的演进与核心原则,帮助构建系统化权限设计认知。

笔者的学习认知中,对于一个新框架往往都会先去学习一下底层模型(即表结构及关系),因此这里我们就来了解一下通用的权限管理有哪些,各自的模型关系大概是什么样子,好对我们接下来的学习有个全局认知。

除了本节讲解的ACL、RBAC,还有一些的DAC、MAC、ABAC,感兴趣的读者们可以自行了解一下。

ACL权限模型

ACL(Access Control List)访问控制列表,是很古老的一个权限控制模型。核心思路:将某个对象的某种权限授予某个用户或某种角色,他们之间的关系是多对多,即一个用户/角色可以具备某个对象的多种权限,某个对象的权限也可以被多个用户/角色所持有。

ACL使用非常简单,在搞明白原理之后,开发者可以不用任何权限框架就可以快速实现ACL权限模式。当然Spring Security也为ACL提供了相应的依赖:spring-security-acl,如果项目有使用可以直接添加此依赖。

RBAC权限模型

RBAC(Role-based access control)基于角色的访问控制,是一种较新且广为使用的权限控制机制,这种机制不是直接给用户赋予权限,而是将权限赋予角色。(看到这读者们是不是觉得跟ACL有相似之处呢)

RBAC将用户按角色进行归类,通过用户的角色来确定用户对某项资源是否具备操作权限。RBAC简化了用户与权限的管理,它将用户与角色关联、角色与权限关联、权限与资源关联,这种模式使得用户的授权管理变得非常简单和易于维护。RBAC权限模型有三个主要原则:

(1)最小权限:给角色配置的权限是其完成任务所需要的最小权限集合

(2)职责分离:通过相互独立互斥的角色来共同完成任务,即不能一个角色有重复功能,有这种场景就给一个用户赋予多个角色

(3)数据抽象:通过权限的抽象来体现

RBAC权限模型分类

RBAC0

在RBAC0中,一个用户可以具备多个角色,一个角色可以具备多个权限。如下图

RBAC1

RBAC1是在RBAC0的技术基础之上建立的,主要是增加了角色的继承关系,让角色有了上下级。如下图

RBAC2

RBAC2也是在RBAC0的技术基础之上建立的,引入了静态职责分离和动态职责分离。

角色互斥:在实际项目中有一些角色是互斥的,如财务就不能自己报账自己审批,对于这个角色一般不能和其他角色见人。通过职责分离可以解决这一问题。

静态职责分离:在权限配置阶段就做限制。如同一个用户不能被授予互斥的角色,授予时做互斥判断。

动态职责分离:运行阶段进行限制。如一个用户即使有多个角色,代码也会实时判断其真正有效的角色是几个。

RBAC3

RBAC3是RBAC1和RBAC2的合体,如下图:

目录
相关文章
|
3月前
|
人工智能 监控 API
OpenClaw Node系统实战指南:设备互联+阿里云/本地部署+千问与免费大模型API配置教程
2026年,OpenClaw的Node系统彻底打破了AI“只会说不会做”的局限——通过将手机、电脑、树莓派等设备配对为“节点”,AI可直接调用设备的摄像头、位置、通知等硬件与软件能力,实现拍照监控、远程命令执行、位置感知等多元化场景。Node系统让AI从“云端大脑”落地为“可感知物理世界的助手”,无需复杂第三方API,仅需简单配对即可解锁设备控制能力。
1723 0
|
4月前
|
存储 人工智能 安全
2026年OpenClaw(Clawdbot)阿里云深度部署指南:OpenClaw集成邮箱流程
2026年初,OpenClaw(前身为Clawdbot)凭借“私有化部署+高权限实操+自然语言交互”的创新模式,迅速席卷AI开发者社区。这款开源AI智能体打破了传统聊天助手的功能局限,可在个人电脑或私有服务器上独立运行,通过聊天软件接收指令,完成邮件收发、文件管理、系统运维等实操任务,同时保障数据隐私不泄露。本文将整合阿里云专属简化部署方案与邮箱集成核心流程,嵌入可直接复制的代码命令,覆盖从环境搭建、模型配置到邮箱交互的全环节,确保零基础用户也能快速落地这款“专属数字员工”。
1923 6
|
3月前
|
存储 缓存 安全
深入理解OpenClaw技术架构与实现原理(下)
本文是《深入理解OpenClaw技术架构与实现原理(上)》的续篇,主要讲述从沙箱隔离到企业级智能体演进。
深入理解OpenClaw技术架构与实现原理(下)
|
3月前
|
人工智能 Linux API
OpenClaw保姆级部署图文教程:阿里云/本地秒级上线+豆包Seed 2.0接入+百炼Coding Plan配置指南
步入2026年,OpenClaw(又名Clawdbot,圈内俗称“小龙虾”)已经成为最易上手、功能最强的开源AI智能体工具,彻底打破传统AI只能问答、无法实操的局限,支持本地文件管理、代码编写、自动化任务执行、长文本处理、多平台联动等核心能力,搭配豆包Seed 2.0的超强代码与逻辑推理能力,以及阿里云百炼Coding Plan免费大模型的低成本兜底方案,成为个人办公、轻量开发、自动化运维人群的首选工具。
2093 3
|
4月前
|
人工智能 编解码 自然语言处理
2026年OpenClaw/Clawdbot极速部署+本地SD1.5文生图实战,打造自定义AI形象
2026年,OpenClaw(原Clawdbot)的功能边界持续拓展,从高效执行办公任务、量化交易辅助,进化到支持本地文生图自定义形象——通过对接Stable Diffusion 1.5(SD1.5),结合realisticVisionV60B1模型与IP-Adapter-FaceID技术,实现“输入文本+参考图”即可生成风格统一、特征一致的专属图像,全程本地运行无API费用,隐私安全与创作自由兼得。
3021 5
|
6月前
|
人工智能 前端开发 测试技术
告别 GUI Agent 工程基建噩梦!阶跃星辰开源 4B 模型,本地轻松部署,玩转安卓应用
阶跃星辰开源GELab-Zero,首发4B GUI Agent模型及完整基建,支持一键部署,在多端性能达SOTA。同步推出真实场景评测基准AndroidDaily,推动GUI智能体规模化落地。
1084 10
告别 GUI Agent 工程基建噩梦!阶跃星辰开源 4B 模型,本地轻松部署,玩转安卓应用
|
语音技术 网络架构 开发者
HumanOmni:首个专注人类中心场景的多模态大模型,视觉与听觉融合的突破!
HumanOmni是业内首个理解以人为中心的场景,可以同时处理视觉信息、音频信息的多模态大模型。
749 9
HumanOmni:首个专注人类中心场景的多模态大模型,视觉与听觉融合的突破!
|
8月前
|
人工智能 开发者
30分钟搞定媒体级新闻稿,这个AI提示词让技术人也能玩转公关写作
开发者常因新闻稿写作犯难,本文分享一套AI提示词工具,涵盖角色定义、结构化输入输出、多场景适配与合规检查,助力技术人快速生成符合媒体标准的专业稿件,提升传播效率。
1552 6
|
PyTorch API 算法框架/工具
DeepSeek 部署方式与技术实践
DeepSeek的部署灵活性使其在多个领域大放异彩,但需根据场景权衡性能、成本与安全性。随着工具生态的完善与行业方案的沉淀,2025年将成为AI大模型落地关键年。开发者应持续关注MoE、COT等技术创新,结合自身需求选择最优部署策略。
1020 1
|
10月前
|
监控 安全 图形学
百度网盘下载速度很慢?电脑下载速度好快?玩游戏很慢?
OpenSpeedy是一款免费开源的Windows工具,可对百度网盘、游戏等软件进行加速,无需会员也能实现高速下载。
3882 0

热门文章

最新文章