组织机构与权限管理用户开发手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国软件与技术服务股份有限公司
组织机构与权限管理用户开发手册
中国软件与技术服务股份有限公司
应用产品研发中心
组织机构与权限管理用户开发手册
目录
1 引言 (1)
1.1背景 (1)
1.2目标 (1)
1.3定义 (1)
2 系统总体设计 (2)
2.1设计思想 (2)
2.1.1 权限定义 (2)
2.1.2 权限类型划分 (3)
2.1.3 数据权限的数学涵义 (3)
2.1.4 数据元素的范围标识 (4)
2.1.5 数据访问授权 (5)
2.1.6 数据权限的多维性 (5)
2.1.7 逻辑模型 (5)
2.2系统总体架构 (8)
2.2.1 系统物理模型: (8)
2.2.2 对象设计模型: (8)
2.2.3 系统服务组件设计: (9)
2.2.4 安全验证 (9)
2.3 API接口和使用说明 (9)
2.3.1 安全管理基类SwordSecurityManager (9)
2.3.2 用户权限票据缓存管理器WebSecurityManager (11)
2.3.3 数据权限服务类DataRightService (11)
2.3.4 系统公共服务类SOPBaseServiceBLH (12)
2.3.5 操作权限使用说明 (12)
1引言
1.1背景
本模块是sword业务基础平台的组件之一,为平台提供基础的组织机构和权限管理功能。
1.2目标
本系统主要目标如下:
●提供灵活的组织机构与权限管理物理模型,针对不同的业务系统需求可再扩展。
●提供系统核心组件,跨数据库、灵活、稳定、算法高效、复用率高,可极大的缩
短业务系统二次开发周期。
●提供稳定的组织机构与权限管理对外服务接口,用以满足业务系统的需求。
●提供基于以上三点的业务系统实现,在多数场景中可直接使用。
1.3定义
●权限
以权限授权管理为基础,使用户仅对指定数据集合中的特定数据具有访问能力。
这个定义包含了几个关键要素:
➢用户:用户是系统的操作者,是授权的目标主体。
➢数据集合:被访问的目标数据集合是权限管理的基础。事实上,整个权限控制的目的就是保证非信任用户群体对系统数据的合理访问。
➢授权:授权是提供上述访问关系的控制逻辑。
●功能权限
功能权限控制用户对系统功能的访问。一般来讲,功能权限的粒度是一个个具体的业务功能
●数据权限
数据权限本质上是用户对特定类型数据集合中数据访问的范围控制
●权限资源
数据资源是授权关系中数据集合内元素的标识属性,在权限管理运算中,权限资源是作为运算变量存在的。
从大类上划分,权限资源可以分为功能权限资源和数据权限资源两大类。
●权限维度
权限资源的分类属性,一般用在数据权限资源定义内,用于标识不同数据范围类型的定义。
●维度关联
在最简单情况下,各个权限维度之间没有关联,是纯正交的关系。在这种情况下,各维度的权限运算可以独立进行。
维度关联是指权限维度之间的关联关系。特定的权限维度之间存在关联,不是纯正交关系。在这种情况下,各维度的权限运算不能独立进行,需要综合考虑。
●业务规则
业务规则是一种“假的”权限定义需求,看起来像权限控制范围,但事实上仅是业务逻辑的组成部分。
辨别是否业务规则的方法是:把访问控制要求去掉后(不考虑权限访问需求),业务过程是否完整。如果业务过程变得不完整了,则表明这不是一项权限需求。
●基本属性
在本模型中,业务实体参与业务运算的属性。
本下级:本下级表示机构树或职能机构树上,该机构及其该机构的所有下级机关(及下级机关的所有下级机关,以此类推)。比如,北京市外汇局在机构树上的本下级表示所有属于北京市外汇局的机构。
2系统总体设计
2.1设计思想
2.1.1权限定义
在本文档中,对权限的定义为:
以权限授权管理为基础,使用户仅对指定数据集合中的特定数据具有访问能力。
这个定义包含了几个关键要素:
●用户:用户是系统的操作者,是授权的目标主体。
●数据集合:被访问的目标数据集合是权限管理的基础。事实上,整个权限控制的
目的就是保证非信任用户群体对系统数据的合理访问。
●授权:授权是提供上述访问关系的控制逻辑。
2.1.2权限类型划分
按照应用系统的权限控制要求,系统权限管理按照类型划分为两大类:功能权限和数据权限。
●功能权限:功能权限控制用户对系统功能的访问。一般来讲,功能权限的粒度是
一个个具体的业务功能。
●数据权限:数据权限本质上是用户对特定类型数据集合中数据访问的范围控制。
●本质上,功能权限和数据权限在本质上是一致的,做上述类型的分主要是考虑到
功能权限在实现上的特殊性,划分后能够更加方便地实现控制权限控制逻辑。
●在下述章节中,将描述的重点放在数据权限上。
2.1.3数据权限的数学涵义
数据权限本质上是数据集合的选择运算(功能权限也是如此)。
下图将以数据检索为例,简要描述数据权限的实现过程。
原始数据集合中存放是所有待检索的数据集,其中每一个元素均包含有一个权限控制属性(如元素上的三角形标识)表示。
4个数据元素;
第二个用户对标识为的数据有访问权限,因此,他可以看到2个数据元素;
第三个用户对所有数据均有访问权限,因此,他可以看到6个数据元素。