基于角色访问控制的UML 表示02

一个用户可以成为很多角色的成员,一个角色可以有许多用户。类似地,一个角色可以有多个权限,同一个权限可以被指派给多个角色。每个会话把一个用户和可能的许多角色联系起来。一个用户在激发他或她所属角色的某些子集时,建立了一个会话。用户可用的权限是当前会话激发的所有角色权限的并集。每个会话和单个用户关联。这个关联在会话的生命期间保持常数。一个用户在同一时间可以打开多个会话,例如,在不同的工作站屏幕窗口各一个。每个会话可以有不同的活动角色。会话的概念相当于传统的访问控制中主体(subject)的标记。

一个主体是一个访问控制单位,一个用户在同一时间可以拥有多个不同活动权限的主体(或会话)。

  1. UML 概览

UML 是通用的可视化建模语言,我们可以使用它阐述、可视化和文档化软件系统的组成部分。现在UML 已经是软件工程的标准语言。UML 包括用例建模,静态建模和动态建模。在用例建模中,通过用例和执行者阐述系统的功能需求。用例由执行者引发,描述了执行者和系统之间的交互。静态建模提供系统的结构视图信息,在这个视图中,通过类、类属性和与其他类的关系(relationship)表示。关系包括关联(association)、泛化/特化(generalization/specialization)、聚合。动态建模表现系统的行为视图。它可以通过对象协作图、顺序图或状态图来描述。对象协作图和顺序图用来描述对象和其他对象在执行用例时的协作。依赖于状态的对象使用状态图来描述 5

本文中,我们使用类图、用例图和对象协作图分别作为RBAC 模型的静态视图、功能视图、动态视图。在本文的剩下内容中,我们使用了 1, 7, 10中介绍的UML 标记符。

  1. 基于UML 的 RBAC 表示

RBAC 中的组成部分是用户、角色、权限、会话和约束。为了使用UML 表示RBAC 模型,我们使用对象类的标记分析每个组成部分。在本文后面部分中,我们的分析分为三个不同的视图:静态视图、功能视图和动态视图。

图2 类图:概念静态模型

RBAC 的概念静态模型如图2 所示,包括类、类之间的关系和关系的势。基本的实体是用户、角色、权限、约束和会话类。角色和权限类分别特化出两种类别:使用者和管理者。这个特化依赖于用户的资历。RBAC 模型的约束可以有很多种形式,依赖于应用系统。为了简化分析模型,我们静态模型中的约束只有三个:用户约束、权限约束、会话约束。另外,静态模型还有一个特殊的类session hour,当用户建立一个会话来激活他/她的角色时,该类被使用。这对表达基于会话的约束很有用。例如,一个组织可以要求用户只能在某些时间建立会话。为了强化这类约束,我们需要跟踪每个会话的会话时间。实体类的属性在图3 中定义。

图3 实体类的属性

相关推荐
Warren2Lynch13 小时前
面向对象设计中的 UML 类图指南
人工智能·uml
黄俊懿14 小时前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第十节:网关安全-单向加密
网络·数据库·计算机网络·安全·架构·系统架构·架构师
领麦微红外14 小时前
光杯组合撑起的中距离测温矩阵
产品经理·智能硬件
黄俊懿17 小时前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第八节:网关-注入攻击与预防
sql·网络安全·架构·系统架构·架构师·架构设计
黄俊懿18 小时前
【架构师从入门到进阶】第五章:DNS&CDN&网关优化思路——第七节:网关-XSS攻击与预防
网关·网络安全·架构·系统架构·架构师·xss·架构设计
东莞市永盛电气1 天前
208V变380V干式变压器,绕组工艺与输出稳定性解析
uml
领麦微红外2 天前
FW系列:远距离红外测温的产品矩阵
产品经理
幻风_huanfeng2 天前
高级软件架构师学习笔记----案例分析总览
系统架构·架构师·软考
我命由我123452 天前
UI 设计 7 种排列方式
xml·学习·ui·html·产品运营·产品经理·学习方法
我命由我123452 天前
财务学习 - 权责发生制(应收应付制)
学习·职场和发展·产品运营·求职招聘·职场发展·产品经理·学习方法