掌桥专利:专业的专利平台
掌桥专利
首页

一种数据权限配置管理方法、数据查询方法及系统

文献发布时间:2024-04-18 19:59:31


一种数据权限配置管理方法、数据查询方法及系统

技术领域

本发明涉及数据权限配置领域,更具体地,涉及一种数据权限配置管理方法、数据查询方法及系统。

背景技术

动态表单实现配置列表页面功能时,实施人员存在无法有效配置数据权限的问题,用户满足的权限组有且只有一个,面对同时需要满足多个权限组的业务需求,无法实施,且列权限以及按钮权限也无法进行控制,只能通过开发业务代码实现,并不能很好的简化工作量,依据以上情况,需要实现一套更加有效实用的数据权限配置管理机制。

发明内容

本发明针对现有技术中存在的技术问题,提供一种数据权限配置管理方法、数据查询方法及系统。

根据本发明的第一方面,提供了一种数据权限配置管理方法,包括:

将查询列表信息作为数据对象,在列表数据对象的基础上封装配置数据权限对象,所述数据权限对象为多级对象,所述数据权限对象包括多个权限组对象,每一个权限组对象包括权限组成员对象、列权限对象和行权限对象;

将所述数据权限对象存储到缓存中,其中,所述多个权限组对象之间分为互斥策略和相容策略,当多个权限组对象之间为互斥策略时,为多个权限组对象之间分配优先权。

在上述技术方案的基础上,本发明还可以作出如下改进。

可选的,所述权限组成员对象包括部门、岗位、角色或者全体,所述列权限包括对列表查询信息的字段显示隐藏权限,所述行权限对象包括本人数据、部分数据、全部数据和自定义多级过滤条件。

可选的,还包括:

将列表页面以及多级数据权限对象以图形化的方式进行配置。

根据本发明的第二方面,提供一种数据查询方法,包括:

基于数据权限配置管理方法对数据权限进行配置;

在用户进行数据查询时,根据用户标识到缓存中,查询用户所属的权限组对象;

集成表达式引擎和规则引擎,对所述权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句;

基于所述sql语句,在对应的查询列表信息中进行查询,获取对应的数据。

可选的,还包括:

当查询到用户所属的权限组对象包括多个时,判断所述用户的多个权限组对象之间为互斥策略或者相容策略;

当多个权限组对象之间为互斥策略时,确定多个权限组对象中优先级最高的权限组对象为当前权限组对象;集成表达式引擎和规则引擎,对所述当前权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句;

当用户的多个权限组对象为相容策略时,集成表达式引擎和规则引擎,对每一个权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句。

可选的,所述集成表达式引擎和规则引擎,对所述权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句,包括:

集成表达式引擎和规则引擎,对列权限中的字段隐藏条件以及行权限中的数据权限和自定义过滤条件进行解析,构建出对应的完整sql语句。

根据本发明的第三方面,提供了一种数据权限配置管理系统,包括:

第一配置模块,用于将查询列表信息作为数据对象,在列表数据对象的基础上封装配置数据权限对象,所述数据权限对象为多级对象,所述数据权限对象包括多个权限组对象,每一个权限组对象包括权限组成员对象、列权限对象和行权限对象;

存储模块,用于将所述数据权限对象存储到缓存中,其中,所述多个权限组对象之间分为互斥策略和相容策略,当多个权限组对象之间为互斥策略时,为多个权限组对象之间分配优先权。

根据本发明的第四方面,提供了一种数据查询系统,包括:

第二配置模块,用于基于数据权限配置管理系统对数据权限进行配置;

查询模块,用于在用户进行数据查询时,根据用户标识到缓存中,查询用户所属的权限组对象;

解析模块,用于集成表达式引擎和规则引擎,对所述权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句;

获取模块,用于基于所述sql语句,在对应的查询列表信息中进行查询,获取对应的数据。

本发明提供的一种数据权限配置管理方法、数据查询方法及系统,拓展了一个用户兼容多种权限的业务场景,,可以为同一个用户配置多个权限组,同时丰富了列权限和行权限的控制,提升实施效率,降低了实施人员的技能要求。

附图说明

图1为本发明提供的一种数据权限配置管理方法流程图;

图2为图形化数据权限配置的示意图;

图3为数据权限配置管理方法的整体流程示意图;

图4为本发明提供的一种数据查询方法流程示意图;

图5为本发明提供的一种数据权限配置管理系统的结构示意图;

图6为本发明提供的一种数据查询系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

图1为本发明提供的一种数据权限配置管理方法流程图,如图1所示,方法包括:

步骤1,将查询列表信息作为数据对象,在列表数据对象的基础上封装配置数据权限对象,所述数据权限对象为多级对象,所述数据权限对象包括多个权限组对象,每一个权限组对象包括权限组成员对象、列权限对象和行权限对象。

可理解的是,本发明采用封装数据关联结构作为数据权限的对象,其中,数据权限对象中包含了权限定义、权限策略、列权限、行权限,自定义过滤条件等,这些配置形成一个完整的数据权限,使用过程中只需配置该数据权限,即可实现数据的行列过滤。

其中,可参见图2,数据权限对象包括多级对象,将列表页面以及多级数据权限对象以图形化的方式进行配置。图2示出了多级权限对象的展示示意图。

其中,权限组成员对象包括部门、岗位、角色或者全体,也就是权限组对象中设置可以查看数据的部门、岗位、角色或者是全体成员都可以查看。列权限包括对列表查询信息的字段显示隐藏权限,行权限对象包括可以查看本人数据、部分数据、全部数据和自定义多级过滤条件。

数据权限采用面向对象的思想,把查询列表信息作为整个数据对象,在列表数据对象的基础上,封装一层数据权限对象,数据权限对象细分的话分为权限组对象,权限成员对象,列权限对象,行权限对象,引入缓存机制,数据权限对象存入缓存。

步骤2,将所述数据权限对象存储到缓存中,其中,所述多个权限组对象之间分为互斥策略和相容策略,当多个权限组对象之间为互斥策略时,为多个权限组对象之间分配优先权。

可理解的是,本发明中将每一个数据权限封装为一个独立的对象,这些对象之间可以为互斥关系,也可以为相容关系。比如,多个权限组对象之间可以为互斥策略,也可以为相容策略。当多个权限组对象之间为互斥策略时,为多个权限组对象之间分配优先权,按照优先权的顺序进行执行。当多个权限组对象之间为相容策略时,那么满足每一个权限组对象策略的都需要执行。

如图3所示,基于具体的业务场景对本发明提供的数据权限配置管理方法进行说明。具体的业务场景为:请假申请业务,要求人事部能看到除人事部负责人外的全部请假信息,人事部负责人能看到全部请假信息,部门负责人看到整个部门下的请假信息,普通员工只能看到自己的请假信息。

1)需要先根据业务创建请假数据建模,生成请假表结构。

2)根据请假表结构进行数据集配置,生成列表页面。

3)列表页面设置权限组,分别配置:

人事部权限组,成员选择人事部门,字段权限全部显示,数据权限设置自定义过滤条件,申请人不等于登录态人事部负责人。

部门负责人权限组,成员选择部门负责人岗,字段权限全部显示,数据权限设置自定义过滤条件,字段所属部门等于登录态中的所属部门。

普通员工权限组,成员选择业务员岗,字段权限显示全部,数据权限设置查看自己创建的数据。

4)权限组策略配置规则:

策略规则设置成相容,如当前登录人是财务部负责人,既属于人事部,也属于部门负责人,依据这两个相容的权限组,可以看到所有的请假信息。

5)列权限控制,如部门负责人需要看到请假事由,则可以控制请假事由字段权限显示,如人事部无需看到该字段,可以进行隐藏。

参见图4,提供了本发明的一种数据查询方法,包括:

步骤1’,基于数据权限配置管理方法对数据权限进行配置。

可理解的是,首先基于前述的数据权限配置管理方法对需要查询的列表信息进行数据权限的配置。

步骤2’,在用户进行数据查询时,根据用户标识到缓存中,查询用户所属的权限组对象。

可理解的是,当用户需要对列表信息进行查询时,根据用户标识,比如,用户所在的部门、用户的名字等到缓存中去查询,查询用户对应的权限组对象。

步骤3’,集成表达式引擎和规则引擎,对所述权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句。

需要说明的是,用户对应的权限组对象可能为一个,也可能为多个,当查询到用户所属的权限组对象包括多个时,判断所述用户的多个权限组对象之间为互斥策略或者相容策略。根据多个权限组对象之间的关系,确定后续的查询操作。

具体的,当多个权限组对象之间为互斥策略时,确定多个权限组对象中优先级最高的权限组对象为当前权限组对象;集成表达式引擎和规则引擎,对当前权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句。当用户的多个权限组对象为相容策略时,集成表达式引擎和规则引擎,对每一个权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句。

其中,所述集成表达式引擎和规则引擎,对所述权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句,包括:集成表达式引擎和规则引擎,对列权限中的字段隐藏条件以及行权限中的数据权限和自定义过滤条件进行解析,构建出对应的完整sql语句。

步骤4’,基于所述sql语句,在对应的查询列表信息中进行查询,获取对应的数据。

可理解的是,对用户对应的权限组对象进行解析构建完整的sql语句后,根据sql语句到数据库或列表信息中查询,查询得到用户权限内的数据,并展示于图形化页面。

参见图5,提供了本发明的一种数据权限配置管理系统,该系统包括第一配置模块501和存储模块502,其中:

第一配置模块501,用于将查询列表信息作为数据对象,在列表数据对象的基础上封装配置数据权限对象,所述数据权限对象为多级对象,所述数据权限对象包括多个权限组对象,每一个权限组对象包括权限组成员对象、列权限对象和行权限对象;

存储模块502,用于将所述数据权限对象存储到缓存中,其中,所述多个权限组对象之间分为互斥策略和相容策略,当多个权限组对象之间为互斥策略时,为多个权限组对象之间分配优先权。

其中,所述权限组成员对象包括部门、岗位、角色或者全体,所述列权限包括对列表查询信息的字段显示隐藏权限,所述行权限对象包括本人数据、部分数据、全部数据和自定义多级过滤条件。

可以理解的是,本发明提供的一种数据权限配置管理系统与前述各实施例提供的数据权限配置管理方法相对应,数据权限配置管理系统的相关技术特征可参考数据权限配置管理方法的相关技术特征,在此不再赘述。

参见图6,提供了本发明的一种数据查询系统,该系统包括第二配置模块601、查询模块602、解析模块603和获取模块604,其中:

第二配置模块601,用于基于数据权限配置管理系统对数据权限进行配置;

查询模块602,用于在用户进行数据查询时,根据用户标识到缓存中,查询用户所属的权限组对象;

解析模块603,用于集成表达式引擎和规则引擎,对所述权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句;

获取模块604,用于基于所述sql语句,在对应的查询列表信息中进行查询,获取对应的数据。

其中,解析模块603,还用于:

当查询模块602查询到用户所属的权限组对象包括多个时,判断所述用户的多个权限组对象之间为互斥策略或者相容策略;当多个权限组对象之间为互斥策略时,确定多个权限组对象中优先级最高的权限组对象为当前权限组对象;集成表达式引擎和规则引擎,对所述当前权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句;

当用户的多个权限组对象为相容策略时,集成表达式引擎和规则引擎,对每一个权限组对象包括的列权限和行权限策略进行解析,并构建出对应的sql语句。

解析模块603还用于:

集成表达式引擎和规则引擎,对列权限中的字段隐藏条件以及行权限中的数据权限和自定义过滤条件进行解析,构建出对应的完整sql语句。

可以理解的是,本发明提供的一种数据查询系统与前述各实施例提供的数据查询方法相对应,数据查询系统的相关技术特征可参考数据查询方法的相关技术特征,在此不再赘述。

本发明实施例提供的一种数据权限配置管理方法、数据查询方法及系统,数据权限采用面向对象的思想,把查询列表信息作为整个数据对象,在列表数据对象的基础上,封装一层数据权限对象,数据权限对象细分的话分为权限组对象,权限成员对象,列权限对象,行权限对象,在进行数据查询时,解析数据权限对象,集成表达式引擎和规则引擎,解析权限策略,构建出一个完整的sql语句,针对不同的数据库引擎,建立抽象工厂,兼容不同的数据库,将各个数据权限设计为单例的对象,可以为同一个用户配置多个权限组,拓展了一个用户兼容多种权限的业务场景,同时丰富了列权限和行权限的控制,提升实施效率,降低了实施人员的技能要求。

需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

技术分类

06120116522766