一种基于权限域结构树进行数据权限管理的方法技术

技术编号:20993015 阅读:72 留言:0更新日期:2019-04-29 22:52
本发明专利技术涉及一种基于权限域结构树进行数据权限管理的方法,包括以下步骤:(1)构建权限域结构树,并基于所述权限域结构树配置、定义数据权限访问规则;(2)针对所述权限域结构树执行权限计算;(3)将针对所述权限域树执行权限计算的计算结果进行保存;(4)应用权限计算结果进行数据权限控制。本发明专利技术公开的一种基于权限域结构树进行数据权限管理的方法具有以下有益效果:1、实现业务逻辑与权限控制逻辑分离;2、可实现数据权限访问控制规则可视化;3、在设置数据权限访问控制规则时,可不限定具体的数据查询条件,可支持多种异构数据存储介质;4、权限域节点下可定义多条数据权限访问规则,从而实现细粒度的数据权限访问控制。

A Method of Data Authority Management Based on Privilege Domain Structure Tree

The present invention relates to a method of Data permission management based on permission domain structure tree, which includes the following steps: (1) constructing permission domain structure tree, configuring and defining data permission access rules based on the permission domain structure tree; (2) executing permission calculation for the permission domain structure tree; (3) saving the calculation results of executing permission calculation for the permission domain tree; (4) application. The result of permission calculation is controlled by data permission. The method of data access management based on authority domain structure tree disclosed by the invention has the following beneficial effects: 1. realizing the separation of business logic and authority control logic; 2. realizing the visualization of data access control rules; 3. setting data access control rules can support multiple heterogeneous data storage media without restricting specific data query conditions; 4. In order to achieve fine-grained data access control, multiple data access rules can be defined under permission domain nodes.

【技术实现步骤摘要】
一种基于权限域结构树进行数据权限管理的方法
本专利技术涉及计算机应用
,涉及一种数据权限管理方法,具体涉及一种基于权限域结构树进行数据权限管理的方法。
技术介绍
在现有各类软件应用系统研发中,系统权限控制是基础必备功能。权限控制分为功能权限控制和数据权限控制两类。其中,功能权限控制是指允许或拒绝系统用户使用系统的特定功能,数据权限控制是允许或拒绝系统用户针对某些数据执行特定业务操作。目前,很多开源框架中都已经提供了完备、通用的功能权限控制解决方案,而数据权限由于涉及到目标数据存储结构、业务应用特点、系统开发架构等多种因素影响,目前业内普遍采用的数据权限控制方法是通过在代码开发过程中,通过硬编码的方式,对数据源查询语句添加额外的过滤查询条件实现。上述方法存在诸多缺点:第一、权限控制逻辑和业务处理逻辑混合在一起,即:权限控制逻辑侵入到常规业务处理逻辑中,有违软件设计基本原则且不利于后期代码维护;第二、通过在开发过程中硬编码的方式实现数据权限控制,当权限访问需求发生变更时,需要代码开发人员进行修改,对于已经上线运行的应用系统而言,还需要后续打包部署等环节配合才能完成,上述过程中还会涉及应用系统停止服务、重新启动,极大增加了系统运维成本并降低了系统可用性;第三、由于涉及到具体编码开发,上述方法仅可针对特定的数据源类型(数据库类型)才能生效,不具有普遍性,无法成为通用解决方案;第四、上述方法设置数据权限过程不直观,对于没有软件开发技术基础的系统运维人员而言过于复杂,并且数据权限设置结果无法可视化。
技术实现思路
技术问题:为解决现有技术的不足,本专利技术提供了一种基于权限域结构树进行数据权限管理的方法。技术方案:一种基于权限域结构树进行数据权限管理的方法,包括以下步骤:(1)构建权限域结构树,并基于所述权限域结构树配置、定义数据权限访问规则,完成后进入步骤(2);(2)针对所述权限域结构树执行权限计算,完成后进入步骤(3);(3)将针对所述权限域树执行权限计算的计算结果进行保存,完成后进入步骤(4);(4)应用权限计算结果进行数据权限控制。进一步地,步骤(1)所述权限域结构树包括一个树形结构,其中每个树节点称为权限域节点。进一步地,步骤(1)中基于权限域结构树配置、定义数据权限访问规则时,在每一个权限域节点下,配置、定义应用系统中特定角色对特定数据所拥有的特定操作权限。进一步地,步骤(1)中的数据权限访问规则,包括以下步骤:(11)设置数据查询条件,通过数据查询条件限定数据对象;(12)设置角色,表示所述权限域下针对哪些角色进行授权;(13)设置允许和拒绝的操作类型,表示所述权限域下,对数据对象允许执行和拒绝执行的操作集合。进一步地,基于所述权限域结构树设置、定义数据权限访问规则时,在一个权限域节点下能定义多条数据权限访问规则。进一步地,基于所述权限域节点下可定义多条数据权限访问规则,能设置所述多条数据权限访问规则优先级。进一步地,结构树上下级节点构成父子关系,子节点对应权限域继承父节点权限域所限定的数据查询条件。进一步地,权限域树中各权限域节点具有不同的计算优先级,计算优先级顺序是父子节点,父节点优先计算;兄弟节点,兄节点优先。进一步地,步骤(11)中设置数据查询条件,由于权限域结构树能被精确计算,因此所述数据查询条件无需明确限定,能通过直接指定SQL语句、引用查询脚本语言、指定数据查询服务类、指定数据查询外部服务接口中的任意一种形式实现,能够适配多种数据库类型、多种缓存类型、多种存储类型。进一步地,步骤(13)中设置允许和拒绝的操作类型时,能设置允许和拒绝的多种操作类型。进一步地,步骤(3)中使用具备高性能读取特点的存储结构或存储介质保存权限计算结果。有益效果:本专利技术公开的一种基于权限域结构树进行数据权限管理的方法具有以下有益效果:1、通过配置手段设置数据权限访问控制规则,实现业务逻辑与权限控制逻辑分离;2、基于权限域树形结构,可实现数据权限访问控制规则可视化;3、基于权限域结构树严谨的计算规则,在设置数据权限访问控制规则时,可不限定具体的数据查询条件,可支持多种异构数据存储介质,包括但不限于多种关系型数据库、多种缓存数据库、多种搜索引擎以及其他数据存储介质;4、权限域节点下可定义多条数据权限访问规则,并可设置多条数据权限访问规则优先级,从而实现细粒度的数据权限访问控制。附图说明图1为本专利技术公开的基于权限域结构树进行数据权限管理的方法的前三个步骤的流程示意图。图2为本专利技术公开的应用权限域计算结果进行数据权限控制的流程图。图3为本专利技术示例性实施例的数据权限管理配置界面的示意图。图4为本专利技术示例性实施例的权限域计算顺序的说明图。图5为本专利技术示例性实施例的权限计算结果数据的存储结构的示意图。具体实施方式:以下结合附图,对本专利技术实施例提供的技术方案进行清楚、完整地描述。显然,以下所描述实施例仅仅是本专利技术一部分实施例,而不是全部实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1和2所示,一种基于权限域结构树进行数据权限管理的方法,包括以下步骤:(1)构建权限域结构树,并基于所述权限域结构树配置、定义数据权限访问规则,完成后进入步骤(2);(2)针对所述权限域结构树执行权限计算,完成后进入步骤(3);(3)将针对所述权限域树执行权限计算的计算结果进行保存,完成后进入步骤(4);(4)应用权限计算结果进行数据权限控制。进一步地,步骤(1)所述权限域结构树包括一个树形结构,其中每个树节点称为权限域节点。所述权限域除了名称和相关描述信息外,还包括三方面内容:1、数据查询条件,通过数据查询条件限定当前权限域下所指定的数据对象,即限定授权资源客体;2、角色,表示当前权限域下针对哪些角色进行授权,即限定授权主体;3、操作类型,表示当前权限域下针对资源客体的操作集合,即操作。进一步地,步骤(1)中基于权限域结构树配置、定义数据权限访问规则时,在每一个权限域节点下,配置、定义应用系统中特定角色对特定数据所拥有的特定操作权限。进一步地,步骤(1)中的数据权限访问规则,包括以下步骤:(11)设置数据查询条件,通过数据查询条件限定数据对象;(12)设置角色,表示所述权限域下针对哪些角色进行授权;(13)设置允许和拒绝的操作类型,表示所述权限域下,对数据对象允许执行和拒绝执行的操作集合。进一步地,基于所述权限域结构树设置、定义数据权限访问规则时,在一个权限域节点下能定义多条数据权限访问规则。更进一步地,基于所述权限域节点下可定义多条数据权限访问规则,能设置所述多条数据权限访问规则优先级。进一步地,结构树上下级节点构成父子关系,子节点对应权限域继承父节点权限域所限定的数据查询条件。进一步地,权限域树中各权限域节点具有不同的计算优先级,计算优先级顺序是父子节点,父节点优先计算;兄弟节点,兄节点优先。更进一步地,步骤(11)中设置数据查询条件,由于权限域结构树能被精确计算,因此所述数据查询条件无需明确限定,能通过直接指定SQL语句、引用查询脚本语言、指定数据查询服务类、本文档来自技高网...

【技术保护点】
1.一种基于权限域结构树进行数据权限管理的方法,其特征在于,包括以下步骤:(1)构建权限域结构树,并基于所述权限域结构树配置、定义数据权限访问规则,完成后进入步骤(2);(2)针对所述权限域结构树执行权限计算,完成后进入步骤(3);(3)将针对所述权限域树执行权限计算的计算结果进行保存,完成后进入步骤(4);(4)应用权限计算结果进行数据权限控制。

【技术特征摘要】
1.一种基于权限域结构树进行数据权限管理的方法,其特征在于,包括以下步骤:(1)构建权限域结构树,并基于所述权限域结构树配置、定义数据权限访问规则,完成后进入步骤(2);(2)针对所述权限域结构树执行权限计算,完成后进入步骤(3);(3)将针对所述权限域树执行权限计算的计算结果进行保存,完成后进入步骤(4);(4)应用权限计算结果进行数据权限控制。2.根据权利要求1所述的一种基于权限域结构树进行数据权限管理的方法,其特征在于,步骤(1)所述权限域结构树包括一个树形结构,其中每个树节点称为权限域节点。3.根据权利要求1所述的一种基于权限域结构树进行数据权限管理的方法,其特征在于,步骤(1)中基于权限域结构树配置、定义数据权限访问规则时,在每一个权限域节点下,配置、定义应用系统中特定角色对特定数据所拥有的特定操作权限。4.根据权利要求3所述的一种基于权限域结构树进行数据权限管理的方法,其特征在于,步骤(1)中的数据权限访问规则,包括以下步骤:(11)设置数据查询条件,通过数据查询条件限定数据对象;(12)设置角色,表示所述权限域下针对哪些角色进行授权;(13)设置允许和拒绝的操作类型,表示所述权限域下,对数据对象允许执行和拒绝执行的操作集合。5.根据权利要求4所述的一种基于权限域结构树进行数据权限管理的方法,其特征在于,基于所述权限域结构树设置、定义数据权限访问规则时,在一个权限域节点...

【专利技术属性】
技术研发人员:单承方赵钦耿建光桑国彪李大林郑光鹏
申请(专利权)人:北京神舟航天软件技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1