数据权限管理系统及方法技术方案

技术编号:15501536 阅读:75 留言:0更新日期:2017-06-03 22:51
本发明专利技术公开一种数据权限管理系统,包括:数据元管理器、配置器及解释器;其中,数据元管理器用于标记业务系统中需要进行权限管理的数据;配置器用于针对数据元管理器标记的数据配置数据访问规则;解释器用于拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。本发明专利技术具有通用、动态配置、热插拔、简单有效的优点,适用于有数据权限管理需求的业务系统。

Data authority management system and method

The invention discloses a data management system, data management, configuration and meta interpreter; the data element manager for the need for privilege management of the labeled data service system; configuration for data configuration data element manager mark according to the access rule; the interpreter used to generate the user access business system intercept data, to determine whether the data are the data access rules; if, according to the data access rules return data. The invention has the advantages of universal, dynamic configuration and hot plug, and is simple and effective, and is suitable for the service system with data authority management requirements.

【技术实现步骤摘要】
数据权限管理系统及方法
本专利技术涉及计算机软件
,尤其涉及一种数据权限管理系统及方法。
技术介绍
软件开发中的权限包含操作权限和数据权限两类。操作权限限制了用户能干什么,比如能使用哪些菜单、能点击哪些按钮,这是权限管理的第一把钥匙。数据权限限制用户能读取哪些数据,这是权限管理的第二把钥匙,数据权限是更进一步的权限管理。数据权限管理与功能权限管理是软件开发中需要解决的两个基础问题。对于数据权限管理,一般的方法是依靠应用程序硬编码的形式来解决,因此无法实现通用、动态配置、热插拔的数据权限管理方式。因此,亟需提出一种通用、动态配置、热插拔的数据权限管理系统及方法解决上述问题。
技术实现思路
有鉴于此,本专利技术提供了一种通用、动态配置、热插拔且简单有效的数据权限管理方法,适用于有数据权限管理需求的业务系统。本专利技术一方面提供一种数据权限管理系统,包括:数据元管理器、配置器及解释器;其中,数据元管理器用于标记业务系统中需要进行权限管理的数据;配置器用于针对数据元管理器标记的数据配置数据访问规则;解释器用于拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。优选地,所述系统用于数据库的数据权限管理;以及所述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、所述表中需要进行权限管理的字段、所述字段的数据类型。优选地,所述配置器包括:规则创建模块,用于基于数据元管理器标记的表、表中的字段、字段的数据类型创建数据访问规则;任一条数据访问规则对应于数据库中的一个表;规则库,用于存储规则创建模块创建的数据访问规则;规则管理模块,用于启动、或关闭、或修改、或删除规则库中的数据访问规则。优选地,规则库中存储的数据访问规则为JSON格式。优选地,所述拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束具体为:解释器拦截用户访问数据库时产生的查询语句,提取所述查询语句中的表名,判断所述表名是否在规则库中。优选地,所述根据所述数据访问规则返回数据具体为:将所述表名对应的数据访问规则组合到所述查询语句中进行查询,将查询结果向用户返回。本专利技术另一方面提供一种数据权限管理方法,包括步骤:S1.标记业务系统中需要进行权限管理的数据;S2.针对标记的数据配置数据访问规则;S3.拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。优选地,所述方法用于数据库的数据权限管理;以及所述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、所述表中需要进行权限管理的字段、所述字段的数据类型。优选地,所述数据访问规则存储于规则库中;以及步骤S3具体为:拦截用户访问数据库时产生的查询语句,提取所述查询语句中的表名,判断所述表名是否在规则库中;若是,将所述表名对应的数据访问规则组合到所述查询语句中进行查询,将查询结果向用户返回。优选地,步骤S3还包括:若所述表名不在规则库中,以所述查询语句进行查询,向用户返回查询结果。由以上技术方案可知,本专利技术通过对需要保护的数据配置数据访问规则,并利用数据访问规则管理用户的访问,从而实现有效的数据权限管理。本专利技术具有通用、可动态配置、可热插拔的优点。附图说明图1是本专利技术的数据权限管理系统组成示意图。图2是本专利技术的数据权限管理方法示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本专利技术进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本专利技术的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本专利技术的这些方面。本专利技术的专利技术人考虑到,现有的数据权限管理方法多依赖于应用程序硬编码的方式,无法实现通用、动态配置、热插拔的数据权限管理。于是首先为需保护的数据配置数据访问规则,之后将对应的数据访问规则组合到用户查询语句中进行查询,实现了简单有效、通用可靠的数据权限管理。以下详细介绍本专利技术的技术方案。图1示出了本专利技术的数据权限管理系统组成,如图1所示,数据权限管理系统包括:数据元管理器1、配置器2及解释器3。具体而言,数据元管理器1用于标记业务系统中需要进行权限管理的数据,为数据权限管理系统提供元数据支持。一般来说,本专利技术的数据权限管理系统具有良好的通用性,可用于各类业务系统的数据权限管理,下面以数据库为例进行说明。较佳地,上述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、上述表中需要进行权限管理的字段、上述字段的数据类型。表与字段是用户最终访问的数据资源,是数据访问规则设置的基础数据来源。将数据类型纳入维护是为了在配置数据访问规则时进行有效性验证。配置器2用于针对数据元管理器1标记的数据配置数据访问规则,当用户访问时提供给解释器进行解析。数据访问规则规定什么样的用户可以访问什么样的数据。实际应用中,数据访问规则设置为JSON(JavaScript对象表示法)格式。一般地,数据访问规则符合以下原则:a)一条数据访问规则对应数据库中的一个表。b)可以针对一个表建立多条数据访问规则。c)每一条规则可以手动启动或者关闭。d)可以按需创建、修改或者删除规则而不用重启应用软件。e)数据访问规则总是:{字段条件允许值}。其中,字段是在数据元管理中维护的对应的表的属性。条件与标准sql中的条件相同,取值可以是and、or、like、between、>=、<=等。允许值是针对不同的条件所需要设置的一个参数。f)数据权限规则可以合并。举例来说,一条JSON格式的数据访问规则如下:{"rules":[{"field":"OrderDate","op":"less","value":"2012-01-01"},{"field":"roleName","op":"equal","value":"saleManager"}],"op":"and"}翻译结果为:查找用户角色为“saleManager”的所有订单时间小于2012-01-01的单据。在本专利技术优选实施例中,配置器2包括:规则创建模块21、规则库22、规则管理模块23。具体地,规则创建模块21用于基于数据元管理器1标记的表、表中的字段、字段的数据类型创建数据访问规则。规则库22用于存储规则创建模块创建的数据访问规则。规则管理模块23用于启动、或关闭、或修改、或删除规则库中的数据访问规则。特别地,规则管理模块23可启动、或关闭、或修改、或删除规则库中的数据访问规则而不需重启应用软件,由此实现了数据权限管理系统的动态配置。实际应用中,规则库22的格式为:表名、数据访问规则、是否可用。实例如下:表1表1示出了序号为1、表名为t-order的表的数据访问规则,此规则可用。数据访问规则具体为:规则1或规则2。规则1为:查找当前用户ID在2、6之间的整型数据。规则2为:查找当前用户ID为7、数据类型为整型,并且,职工ID为“currentEmployeeid”、数据类型为数字的数据。解释器3用于拦截用户访问业务系统时产生的数据,判断该数据是否被数据访问规则所约束。如果是,则根据数据访问规则返回数据。在本专利技术优选实施例中,解释器3拦截用户本文档来自技高网...
数据权限管理系统及方法

【技术保护点】
一种数据权限管理系统,其特征在于,包括:数据元管理器、配置器及解释器;其中,数据元管理器用于标记业务系统中需要进行权限管理的数据;配置器用于针对数据元管理器标记的数据配置数据访问规则;解释器用于拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。

【技术特征摘要】
1.一种数据权限管理系统,其特征在于,包括:数据元管理器、配置器及解释器;其中,数据元管理器用于标记业务系统中需要进行权限管理的数据;配置器用于针对数据元管理器标记的数据配置数据访问规则;解释器用于拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。2.如权利要求1所述的系统,用于数据库的数据权限管理;以及所述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、所述表中需要进行权限管理的字段、所述字段的数据类型。3.如权利要求2所述的系统,所述配置器包括:规则创建模块,用于基于数据元管理器标记的表、表中的字段、字段的数据类型创建数据访问规则;任一条数据访问规则对应于数据库中的一个表;规则库,用于存储规则创建模块创建的数据访问规则;规则管理模块,用于启动、或关闭、或修改、或删除规则库中的数据访问规则。4.如权利要求3所述的系统,规则库中存储的数据访问规则为JSON格式。5.如权利要求4所述的系统,所述拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束具体为:解释器拦截用户访问数据库时产生的查询...

【专利技术属性】
技术研发人员:张勇刘玉龙刘毅吴瑜王恺冯卫勇徐连亮李敏刘丽钦李聂
申请(专利权)人:华北计算技术研究所中国电子科技集团公司第十五研究所
类型:发明
国别省市:北京,11

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

1