ThroughoutCMS技术共享系列(3):三维的权限抽象模型-PK访问控制设计的软件实现
来源:互联网 发布:淘宝国产手办店铺 编辑:程序博客网 时间:2024/04/28 07:11
基于角色的权限模型包括以下元素:
(1)部门(组织,用户组也作为一种特殊的部门)。
一组用户的集合,具有统一的角色和数据范围,例如仿真数据库中的设计部门。部门没有独立的登录帐号和登录口令,不记录日志信息。部门是一个树状结构(Tree),各个节点分别代表了独立的部门,部门同时也是用户的宿主,部门和用户是多对多的数据关系,用户和部门形成统一的用户体系。
(2)用户,个体用户的账户信息。
作为一个独立的操作人员,有其独立的登录帐号和登录口令,其在系统中的活动将会被记录到日志系统,用户通过角色来获取可用操作许可列表,用户通过数据范围获取可用访问资源。用户分为系统用户(处理业务的用户)和访问用户(访问者或买家)两种类型,用户状态分为初始、可用、停用、删除等不同的状态。
(3)角色:一组功能列表。
角色充当用户(部门)和功能之间的桥梁,用户获取某些操作许可必须通过特定的角色来获取,而不能直接与功能交互。
(4)功能(也指操作):某个特定系统操作。
如创建、修改设计方案等,都是功能,功能也是一组树状结构(Tree),例如“设计数据管理”是一个大功能,同时“设计数据管理——>创建设计方案”又是一个子功能。系统中所有纳入访问控制体系的权限用户操作都可以注册到系统中来,统一管理。功能根据操作区域的不同,可以分为多种类型:控件功能(一个页面中的某个控件)、页面功能(页面是否被允许访问)、模块功能(特定的模块是否被支持访问);功能根据操作区域的不同,可以分为以下类型:用户自维护功能(例如我的工作台-口令维护)、系统业务功能(例如设计人员)、工作流程功能(例如定义工作流步骤的操作)。角色和功能形成了系统访问控制的模块功能体系。
(5)数据范围(也称资源),系统访问客体。
在访问控制中意味着当用户具有一定操作功能的时候,能操作哪些数据,例如用户允许生成报表功能,但是那些报表允许此用户生成的问题。数据范围依附于特定的操作功能,数据范围可以是数据集合或者数据范围规则(条件),数据范围也形成了访问控制中的访问资源体系。
归纳起来,用户访问控制可以有以下要素构成:
用户访问控制=用户体系(主)+模块功能体系(谓)+访问资源体系(宾);
形成了三维的权限抽象模型,如下所示:
- ThroughoutCMS技术共享系列(3):三维的权限抽象模型-PK访问控制设计的软件实现
- ThroughoutCMS技术共享系列(4):自定义的数据生命周期管理模型
- ThroughoutCMS技术共享系列(1):轻量级的数据库访问类(初级水平)
- ThroughoutCMS技术共享系列(2):XML访问类
- RBAC基于角色的访问控制模型(权限管理)
- 基于Unity的AOP的符合基于角色的访问控制(RBAC)模型的通用权限设计
- 基于角色的访问控制权限设计
- 实现精细的目录访问权限控制
- Redis实现Restful的访问权限控制(一)
- Redis实现Restful的访问权限控制(二)
- Redis实现Restful的访问权限控制(三)
- Redis实现Restful的访问权限控制(四)
- 基于角色-功能-资源的权限控制模型的设计与实现-引子
- 基于角色-功能-资源的权限控制模型的设计与实现
- 基于角色-功能-资源的权限控制模型的设计与实现-引子
- tomcat内置的访问控制机制来实现权限控制
- 用API实现指定共享用户访问权限的方法
- 基于角色的权限访问控制数据库设计
- 初识MySQL安装
- 你应当如何学习C++(以及编程)
- ThroughoutCMS技术共享系列(4):自定义的数据生命周期管理模型
- 体验一下!
- 大家好
- ThroughoutCMS技术共享系列(3):三维的权限抽象模型-PK访问控制设计的软件实现
- 正则表达式匹配
- 【转】windows窗口风格
- 与公司共勉
- 成为Java软件工程师途径之分析
- 《Windows API巡礼》---listen、accept和connect
- java_web需要哪些技术
- Struts2结合注释实现简易权限管理 抛板砖引玉
- java中 interger自动装箱拆箱