组织机构与权限管理用户开发手册

上传人:小** 文档编号:93929326 上传时间:2019-07-30 格式:DOC 页数:15 大小:763KB
返回 下载 相关 举报
组织机构与权限管理用户开发手册_第1页
第1页 / 共15页
组织机构与权限管理用户开发手册_第2页
第2页 / 共15页
组织机构与权限管理用户开发手册_第3页
第3页 / 共15页
组织机构与权限管理用户开发手册_第4页
第4页 / 共15页
组织机构与权限管理用户开发手册_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《组织机构与权限管理用户开发手册》由会员分享,可在线阅读,更多相关《组织机构与权限管理用户开发手册(15页珍藏版)》请在金锄头文库上搜索。

1、中国软件与技术服务股份有限公司组织机构与权限管理用户开发手册中国软件与技术服务股份有限公司应用产品研发中心 组织机构与权限管理用户开发手册目 录1 引言11.1 背景11.2 目标11.3 定义12 系统总体设计22.1 设计思想22.1.1 权限定义22.1.2 权限类型划分32.1.3 数据权限的数学涵义32.1.4 数据元素的范围标识42.1.5 数据访问授权52.1.6 数据权限的多维性52.1.7 逻辑模型52.2 系统总体架构82.2.1 系统物理模型:82.2.2 对象设计模型:82.2.3 系统服务组件设计:92.2.4 安全验证92.3 API接口和使用说明92.3.1 安全

2、管理基类SwordSecurityManager92.3.2 用户权限票据缓存管理器WebSecurityManager112.3.3 数据权限服务类DataRightService122.3.4 系统公共服务类SOPBaseServiceBLH132.3.5 操作权限使用说明14 中国软件与技术服务股份有限公司 - 13 - 组织机构与权限管理用户开发手册1 引言1.1 背景本模块是sword业务基础平台的组件之一,为平台提供基础的组织机构和权限管理功能。1.2 目标本系统主要目标如下:l 提供灵活的组织机构与权限管理物理模型,针对不同的业务系统需求可再扩展。l 提供系统核心组件,跨数据库、

3、灵活、稳定、算法高效、复用率高,可极大的缩短业务系统二次开发周期。l 提供稳定的组织机构与权限管理对外服务接口,用以满足业务系统的需求。l 提供基于以上三点的业务系统实现,在多数场景中可直接使用。1.3 定义l 权限以权限授权管理为基础,使用户仅对指定数据集合中的特定数据具有访问能力。这个定义包含了几个关键要素: 用户:用户是系统的操作者,是授权的目标主体。 数据集合:被访问的目标数据集合是权限管理的基础。事实上,整个权限控制的目的就是保证非信任用户群体对系统数据的合理访问。 授权:授权是提供上述访问关系的控制逻辑。l 功能权限功能权限控制用户对系统功能的访问。一般来讲,功能权限的粒度是一个个

4、具体的业务功能l 数据权限数据权限本质上是用户对特定类型数据集合中数据访问的范围控制l 权限资源数据资源是授权关系中数据集合内元素的标识属性,在权限管理运算中,权限资源是作为运算变量存在的。从大类上划分,权限资源可以分为功能权限资源和数据权限资源两大类。l 权限维度权限资源的分类属性,一般用在数据权限资源定义内,用于标识不同数据范围类型的定义。l 维度关联在最简单情况下,各个权限维度之间没有关联,是纯正交的关系。在这种情况下,各维度的权限运算可以独立进行。维度关联是指权限维度之间的关联关系。特定的权限维度之间存在关联,不是纯正交关系。在这种情况下,各维度的权限运算不能独立进行,需要综合考虑。l

5、 业务规则业务规则是一种“假的”权限定义需求,看起来像权限控制范围,但事实上仅是业务逻辑的组成部分。辨别是否业务规则的方法是:把访问控制要求去掉后(不考虑权限访问需求),业务过程是否完整。如果业务过程变得不完整了,则表明这不是一项权限需求。l 基本属性在本模型中,业务实体参与业务运算的属性。本下级:本下级表示机构树或职能机构树上,该机构及其该机构的所有下级机关(及下级机关的所有下级机关,以此类推)。比如,北京市外汇局在机构树上的本下级表示所有属于北京市外汇局的机构。2 系统总体设计2.1 设计思想2.1.1 权限定义在本文档中,对权限的定义为:以权限授权管理为基础,使用户仅对指定数据集合中的特

6、定数据具有访问能力。这个定义包含了几个关键要素:l 用户:用户是系统的操作者,是授权的目标主体。l 数据集合:被访问的目标数据集合是权限管理的基础。事实上,整个权限控制的目的就是保证非信任用户群体对系统数据的合理访问。l 授权:授权是提供上述访问关系的控制逻辑。2.1.2 权限类型划分按照应用系统的权限控制要求,系统权限管理按照类型划分为两大类:功能权限和数据权限。l 功能权限:功能权限控制用户对系统功能的访问。一般来讲,功能权限的粒度是一个个具体的业务功能。l 数据权限:数据权限本质上是用户对特定类型数据集合中数据访问的范围控制。l 本质上,功能权限和数据权限在本质上是一致的,做上述类型的分

7、主要是考虑到功能权限在实现上的特殊性,划分后能够更加方便地实现控制权限控制逻辑。l 在下述章节中,将描述的重点放在数据权限上。2.1.3 数据权限的数学涵义数据权限本质上是数据集合的选择运算(功能权限也是如此)。下图将以数据检索为例,简要描述数据权限的实现过程。原始数据集合中存放是所有待检索的数据集,其中每一个元素均包含有一个权限控制属性(如元素上的三角形标识)。示例集合中的该属性共有两个值,分别用和表示。第一个用户对标识为的数据有访问权限,因此,他可以看到4个数据元素;第二个用户对标识为的数据有访问权限,因此,他可以看到2个数据元素;第三个用户对所有数据均有访问权限,因此,他可以看到6个数据

8、元素。上述过程可以看到,如果将原始数据集看做一个二元关系数据集合的话,上述的权限控制操作本质上就是对数据集合的选择运算。这也是数据权限控制的基础,在下述章节中,将所有的权限控制将基于这种选择运算关系实现。2.1.4 数据元素的范围标识依照上述数学关系,要实现数据的访问范围控制,首先要做的就是对数据做范围标识。范围标识过程如下图所示:范围标识属性的选择可以参考如下方式:1)选取业务数据中具有业务语义的数据属性。这种方式最直接,也非常便于理解,是一种优先考虑的方式。2)添加新的、纯技术性质的数据属性。当原始的数据属性集合中没有可以用于标识数据范围的属性时,需要添加额外的属性来标识数据的范围归属。2

9、.1.5 数据访问授权数据访问授权本质上就是建立用户和数据范围标识之间的映射关系。如下图所示。通过授权,用户甲获得了对标识为的数据的访问能力,用户已获得了对标识为的数据的访问能力,用户丙获得了对所有数据的访问能力。2.1.6 数据权限的多维性从数据权限的数学涵义可以看出,基于不同的元素属性做访问范围标识,可以实现多个维度的数据权限控制。这一点在应用中将具有很明显的业务特性:不同类型的业务数据可以给与不同的数据访问控制含义。如:可以按照不同的合同额度划分合同的审批权限级别;可以按照原材料类别区分采购申请的审批者;可以按照数据的地域归属做数据的查询结果限定; 同理,也可以根据业务要求,将上述多个维

10、度做综合考虑,以不同维度的交集或并集来完成更高级别的数据访问权限控制。2.1.7 逻辑模型逻辑模型重点描述了权限模型中的要素和要素之间的关系。参考权限类型的划分,本章节中将功能权限和数据权限两个模型分别描述。本逻辑模型将基于RBAC模型实现,在具体的设计过程中,将参考权限的要素之间的关系,将用户、角色和权限与对应的权限要素建立特定的联系。2.1.7.1 功能资源在功能权限中,首先要考虑的是功能资源。一般来讲,功能资源就是系统中用例功能的列表。依据前述的数学模型,要实现功能权限的授权管理,首先要考虑的是功能权限授权资源的离散化。很幸运,功能权限资源通常表现为一个个独立的URI链接描述,因此天然地

11、具有离散化特性。更进一步考虑,可以将功能资源的“粒度”进一步细化,把一个按钮、页面中的连接等定义为一个资源项。当然,伴随着权限控制粒度的细化,对系统的运行资源开销和运行效率将会出现负面化的影响。2.1.7.2 授权关系最基本的功能授权,就是建立用户到功能的映射。每一个映射就是一项功能能授权。如下图所示:这种模型最简单,但效果不好。因为授权项太多,太分散,非常不便于管理。因此,在本模型中,参考RBAC模型的要素,引入了角色的概念。角色是一类特定功能权限的集合。先建立角色和功能资源之间的映射关系,然后再建立用户同角色之间的映射。其中一个角色可以关联多个功能资源,一个用户也可以关联多个角色。引入角色

12、后,在一定程度上提高了系统授权管理的灵活性,同时可以降低授权映射数量。如下图所示:2.1.7.3 功能授权实体及关系功能授权模型中共包含三个实体和三个关系。三个实体是:用户、角色和功能资源三个关系是:用户-功能资源映射、角色-功能资源映射和用户-角色映射。2.2 系统总体架构2.2.1 系统物理模型:2.2.2 对象设计模型:l 值对象在用户登陆成功后需要将用户基本信息缓存起来,方便在业务系统中直接获取使用,具体属性随业务系统需求而定。注意:一定要实现IUser接口 。l 领域对象继承 SOPBaseBO 或 AbsDaoBusinessObject 类都可,推荐 SOPBaseBO。2.2.

13、3 系统服务组件设计:2.2.4 安全验证2.2.4.1 设计模型l 类图l 时序图2.3 API接口和使用说明2.3.1 安全管理基类SwordSecurityManager负责验证登陆用户与用户票据的生成accreditpublic ITicket accredit(IUser logonUser) throws PersistenceCheckedException,SQLException, SecurityCheckException 说明用户权限验证输入logonUser - 登录用户信息输出票据异常SQLException - 数据库异常PersistenceCheckedExc

14、eption - 框架异常SecurityCheckException - 权限异常loginpublic abstract IUser login(IUser logonUser) throws PersistenceCheckedException,SQLException, SecurityCheckException说明用户登录输入logonUser - 登录用户信息输出用户对象异常SQLException - 数据库异常PersistenceCheckedException - 框架异常SecurityCheckException - 权限异常getFuncRightpublic abstract List getFuncRight(IUser logonUser);说明获取登录用户的功能权限输入logonUser - 登录用户信息输出功能资源列表异常-getDataRightpublic abstract List getDataRight(IUser logonUser);说明获取登录用户的数据权限输入logonUser - 登录用户信息输出数据资源列表异常-getOperateRightpublic abstract List getOptionRight(IUser logonUser);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号