CN114861208A - 数据权限控制方法及数据权限控制服务 - Google Patents
数据权限控制方法及数据权限控制服务 Download PDFInfo
- Publication number
- CN114861208A CN114861208A CN202210530832.9A CN202210530832A CN114861208A CN 114861208 A CN114861208 A CN 114861208A CN 202210530832 A CN202210530832 A CN 202210530832A CN 114861208 A CN114861208 A CN 114861208A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- data query
- user
- query statement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000013507 mapping Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims 2
- 230000008569 process Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开一种数据权限控制方法及数据权限控制服务,涉及数据权限控制技术领域。本申请的方法包括:接收目标客户端发送的数据查询请求,其中,所述数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息;根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句;将所述目标数据查询语句发送至目标数据库,以便所述目标数据库根据所述目标数据查询语句进行查询处理,以获得所述目标数据查询语句对应的查询结果数据;接收所述目标数据库反馈的所述查询结果数据,并将所述查询结果数据发送至所述目标客户端。
Description
技术领域
本申请涉及数据权限控制技术领域,尤其涉及一种数据权限控制方法及数据权限控制服务。
背景技术
权限管理一般是指根据设置的安全规则或者安全策略,控制用户可以访问且只能访问已被授权的资源、数据。权限管理分为两大类,即功能权限控制和数据权限控制,其中,数据权限控制是指:控制用户能对查看哪些数据,例如,控制人力资源部门的普通员工可以查看公司内部部分员工的个人资料数据,控制人力资源部门的部门经理可以查看公司内部所有员工的个人资料数据。
目前,通常是通过在客户端的业务代码中添加数据权限控制代码,来实现客户端的数据权限控制,即针对不同的数据权限控制需求,编写不同的数据权限控制代码,再将编写的数据权限控制代码与客户端的业务代码进行耦合,从而实现客户端的数据权限控制。由于,需要在客户端的业务代码中添加大量的数据权限控制代码,从而不利于客户端业务代码维护和调整。
发明内容
本申请实施例提供一种数据权限控制方法及数据权限控制服务,主要目的在于在不改变客户端业务代码的基础上,实现客户端的数据权限控制。
为解决上述技术问题,本申请实施例提供如下技术方案:
第一方面,本申请提供了一种数据权限控制方法,所述方法应用于数据权限控制服务,包括:
接收目标客户端发送的数据查询请求,其中,所述数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;
根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息;
根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句;
将所述目标数据查询语句发送至目标数据库,以便所述目标数据库根据所述目标数据查询语句进行查询处理,以获得所述目标数据查询语句对应的查询结果数据;
接收所述目标数据库反馈的所述查询结果数据,并将所述查询结果数据发送至所述目标客户端。
可选的,所述根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息,包括:
将所述目标用户对应的唯一身份标识发送至用户中心服务,以便所述用户中心服务根据所述目标用户对应的唯一身份标识进行查询处理,以获得所述目标用户对应的权限信息,其中,所述用户中心服务存储有每个用户对应的唯一身份标识与权限信息之间的映射关系;
接收所述用户中心服务反馈的、所述目标用户对应的权限信息。
可选的,所述根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句,包括:
对所述原始数据查询语句进行解析处理;
若解析成功,则获得所述原始数据查询语句对应的抽象语法树;
根据所述权限信息在所述抽象语法树中添加过滤条件,以获得修改后的所述抽象语法树;
对修改后的所述抽象语法树进行编译处理,以获得所述目标数据查询语句。
可选的,所述方法还包括:
若解析失败,则根据所述目标用户对应的唯一身份标识获取所述目标用户对应的用户等级;
当所述目标用户对应的用户等级大于预设等级阈值时,将所述原始数据查询语句确定为所述目标数据查询语句;
当所述目标用户对应的用户等级小于或等于所述预设等级阈值时,向所述目标客户端发送报错信息。
可选的,在所述接收目标客户端发送的数据查询请求之后,所述方法还包括:
获取所述目标客户端对应的历史数据查询次数;
若所述历史数据查询次数大于数据查询次数阈值,则向所述目标客户端发送报错信息;
若所述历史数据查询次数小于或等于所述数据查询次数阈值,则进入根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息的步骤。
第二方面,本申请还提供一种数据权限控制服务,包括:
接收单元,用于接收目标客户端发送的数据查询请求,其中,所述数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;
第一获取单元,用于根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息;
处理单元,用于根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句;
第一发送单元,用于将所述目标数据查询语句发送至目标数据库,以便所述目标数据库根据所述目标数据查询语句进行查询处理,以获得所述目标数据查询语句对应的查询结果数据;
第二发送单元,用于接收所述目标数据库反馈的所述查询结果数据,并将所述查询结果数据发送至所述目标客户端。
可选的,所述第一获取单元包括:
发送模块,用于将所述目标用户对应的唯一身份标识发送至用户中心服务,以便所述用户中心服务根据所述目标用户对应的唯一身份标识进行查询处理,以获得所述目标用户对应的权限信息,其中,所述用户中心服务存储有每个用户对应的唯一身份标识与权限信息之间的映射关系;
接收模块,用于接收所述用户中心服务反馈的、所述目标用户对应的权限信息。
可选的,所述处理单元,具体用于对所述原始数据查询语句进行解析处理;若解析成功,则获得所述原始数据查询语句对应的抽象语法树;根据所述权限信息在所述抽象语法树中添加过滤条件,以获得修改后的所述抽象语法树;对修改后的所述抽象语法树进行编译处理,以获得所述目标数据查询语句。
可选的,所述处理单元,还用于若解析失败,则根据所述目标用户对应的唯一身份标识获取所述目标用户对应的用户等级;当所述目标用户对应的用户等级大于预设等级阈值时,将所述原始数据查询语句确定为所述目标数据查询语句;当所述目标用户对应的用户等级小于或等于所述预设等级阈值时,向所述目标客户端发送报错信息。
可选的,所述数据权限控制服务还包括:
第二获取单元,用于在所述接收单元接收目标客户端发送的数据查询请求之后,获取所述目标客户端对应的历史数据查询次数;
第三发送单元,用于当所述历史数据查询次数大于数据查询次数阈值时,向所述目标客户端发送报错信息;
所述第一获取单元,具体用于当所述历史数据查询次数小于或等于所述数据查询次数阈值时,根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息。
第三方面,本申请的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的数据权限控制方法。
第四方面,本申请的实施例提供了一种数据权限控制装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面所述的数据权限控制方法。
借由上述技术方案,本申请提供的技术方案至少具有下列优点:
本申请提供一种数据权限控制方法及数据权限控制服务,本申请能够在数据权限控制服务接收得到目标客户端发送的、携带有原始数据查询语句和目标用户对应的唯一身份标识的数据查询请求后,先根据目标用户对应的唯一身份标识,获取目标用户对应的权限信息,再根据目标用户对应的权限信息对原始数据查询语句进行数据权限控制处理,从而获得目标数据查询语句,最后,将目标数据查询语句发送至目标数据库,由目标数据库根据目标数据查询语句进行查询处理,从而获得目标数据查询语句对应的查询结果数据;目标数据库在查询得到目标数据查询语句对应的查询结果数据后,将查询结果数据反馈给数据权限控制服务,由数据权限控制服务将查询结果数据发送至目标客户端。由于,数据权限控制服务向目标客户端反馈的查询结果数据为目标数据库根据包含目标用户权限信息的目标数据查询语句查询得到的,因此,查询结果数据即为目标用户具备的数据查看权限能够查看的数据,从而实现在不改变目标客户端业务代码的基础上,完成对目标客户端的数据权限控制。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,相同或对应的标号表示相同或对应的部分,其中:
图1示出了本申请实施例提供的一种数据权限控制方法流程图;
图2示出了本申请实施例提供的另一种数据权限控制方法流程图;
图3示出了本申请实施例提供的一种数据权限控制服务的组成框图;
图4示出了本申请实施例提供的另一种数据权限控制服务的组成框图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
本申请实施例提供一种数据权限控制方法,该方法应用于数据权限控制服务,具体如图1所示,该方法包括:
101、接收目标客户端发送的数据查询请求。
其中,数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;其中,原始数据查询语句具体为:SQL查询语句或DSL查询语句;其中,目标用户对应的唯一身份标识可以但不限于为:目标用户的登录账号。
在本申请实施例中,各个步骤中的执行主体为部署在目标终端设备中的数据权限控制服务,其中,数据权限控制服务独立于目标客户端和目标数据库,目标终端设备可以但不限于为:服务器、计算机等。
在本申请实施例中,当目标用户需要查询数据时,便可先通过自身的登录账号登录目标客户端,再通过目标客户端向数据权限控制服务发送携带有原始数据查询语句和目标用户对应的唯一身份标识的数据查询请求,此时,数据权限控制服务便可接收得到目标客户端发送的数据查询请求。
102、根据目标用户对应的唯一身份标识获取目标用户对应的权限信息。
其中,目标用户对应的权限信息用于表明目标用户具备的数据查看权限;其中,工作人员预先为目标数据库中需要进行数据权限控制的各个数据表添加唯一标签;目标用户对应的权限信息可以但不限于包含:目标用户能够查看的每个数据表对应的唯一标签、某个数据表中目标用户能够查看的数据列的列名和该数据表对应的唯一标签等。
在本申请实施例中,数据权限控制服务在接收得到目标客户端发送的数据查询请求后,便可根据目标用户对应的唯一身份标识,获取目标用户对应的权限信息。
103、根据权限信息对原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句。
其中,原始数据查询语句和目标数据查询语句为使用相同语言编写的查询语句,例如,若原始数据查询语句为SQL查询语句,则目标数据查询语句同样为SQL查询语句,若原始数据查询语句为DSL查询语句,则目标数据查询语句同样为DSL查询语句;其中,目标数据查询语句中包含目标用户对应的权限信息。
在本申请实施例中,数据权限控制服务在获取得到目标用户对应的权限信息后,便可根据目标用户对应的权限信息对原始数据查询语句进行数据权限控制处理,从而获得目标数据查询语句。
104、将目标数据查询语句发送至目标数据库,并接收目标数据库反馈的查询结果数据,以及将查询结果数据发送至目标客户端。
在本申请实施例中,数据权限控制服务在获取得到目标数据查询语句后,便可将目标数据查询语句发送至目标数据库,目标数据库在接收得到目标数据查询语句后,便会根据目标数据查询语句进行查询处理,从而获得目标数据查询语句对应的查询结果数据;目标数据库在查询得到目标数据查询语句对应的查询结果数据后,便会将查询结果数据反馈给数据权限控制服务,数据权限控制服务在接收得到目标数据库反馈的查询结果数据后,便可将查询结果数据发送至目标客户端,完成对目标客户端的数据权限控制。
需要进行说明的是,由于,查询结果数据为目标数据库根据包含目标用户权限信息的目标数据查询语句查询得到的,因此,查询结果数据即为目标用户具备的数据查看权限能够查看的数据。
本申请实施例提供一种数据权限控制方法,本申请实施例能够在数据权限控制服务接收得到目标客户端发送的、携带有原始数据查询语句和目标用户对应的唯一身份标识的数据查询请求后,先根据目标用户对应的唯一身份标识,获取目标用户对应的权限信息,再根据目标用户对应的权限信息对原始数据查询语句进行数据权限控制处理,从而获得目标数据查询语句,最后,将目标数据查询语句发送至目标数据库,由目标数据库根据目标数据查询语句进行查询处理,从而获得目标数据查询语句对应的查询结果数据;目标数据库在查询得到目标数据查询语句对应的查询结果数据后,将查询结果数据反馈给数据权限控制服务,由数据权限控制服务将查询结果数据发送至目标客户端。由于,数据权限控制服务向目标客户端反馈的查询结果数据为目标数据库根据包含目标用户权限信息的目标数据查询语句查询得到的,因此,查询结果数据即为目标用户具备的数据查看权限能够查看的数据,从而实现在不改变目标客户端业务代码的基础上,完成对目标客户端的数据权限控制。以下为了更加详细地说明,本申请实施例提供了另一种数据权限控制方法,该方法应用于数据权限控制服务,具体如图2所示,该方法包括:
201、接收目标客户端发送的数据查询请求。
其中,关于步骤201、接收目标客户端发送的数据查询请求,可以参考图1对应部分的描述,本申请实施例此处将不再赘述。
进一步的,在本申请实施例中,数据权限控制服务在接收得到目标客户端发送的数据查询请求后,还需要获取目标客户端对应的历史数据查询次数,其中,目标客户端对应的历史数据查询次数为当前预设周期内目标客户端已经向数据权限控制服务发送数据查询请求的次数,预设周期可以但不限于为:6小时、12小时或24小时等;当目标客户端对应的历史数据查询次数大于数据查询次数阈值时,向目标客户端发送报错信息,无需执行后续步骤;当历史数据查询次数小于或等于数据查询次数阈值时,执行步骤202,从而可以防止目标用户控制目标客户端在短时间内向数据权限控制服务发送大量数据查询请求,影响数据权限控制服务正常运行的情况发生。
202、根据目标用户对应的唯一身份标识获取目标用户对应的权限信息。
在本申请实施例中,数据权限控制服务在接收得到目标客户端发送的数据查询请求后,便可根据目标用户对应的唯一身份标识,获取目标用户对应的权限信息。
具体的,在本步骤中,工作人员预先将每个用户对应的唯一身份标识与权限信息之间的映射关系存储在用户中心服务中;数据权限控制服务根据目标用户对应的唯一身份标识,获取目标用户对应的权限信息的具体过程为:数据权限控制服务将目标用户对应的唯一身份标识发送至用户中心服务,用户中心服务在接收得到目标用户对应的唯一身份标识后,便会根据目标用户对应的唯一身份标识进行查询处理,从而获得目标用户对应的权限信息,并将目标用户对应的权限信息反馈给数据权限控制服务,此时,数据权限控制服务便可接收得到目标用户对应的权限信息;其中,用户中心服务独立于数据权限控制服务、目标客户端和目标数据库,用户中心服务可以与数据权限控制服务一起部署在目标终端设备中,也可以部署在其他终端设备中,本申请实施例对此不进行具体限定。
203、根据权限信息对原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句。
在本申请实施例中,数据权限控制服务在获取得到目标用户对应的权限信息后,便可根据目标用户对应的权限信息对原始数据查询语句进行数据权限控制处理,从而获得目标数据查询语句。
具体的,在本步骤中,数据权限控制服务可以采用以下方式根据权限信息对原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句:
首先,对原始数据查询语句进行解析处理,其具体过程为:根据编写原始数据查询语句的语言,采用对应的解析器对原始数据查询语句进行解析处理;当解析成功时,便可获取得到原始数据查询语句对应的抽象语法树,此时,需要根据目标用户对应的权限信息在原始数据查询语句对应的抽象语法树中添加过滤条件,即将目标用户对应的权限信息添加至原始数据查询语句对应的抽象语法树中,从而获得修改后的抽象语法树,再对修改后的抽象语法树进行编译处理,便可获得目标数据查询语句;当解析失败时,需要根据目标用户对应的唯一身份标识获取目标用户对应的用户等级,当目标用户对应的用户等级大于预设等级阈值时,将原始数据查询语句确定为目标数据查询语句,当目标用户对应的用户等级小于或等于预设等级阈值时,向目标客户端发送报错信息,无需执行后续步骤。
需要进行说明的是,在实际应用过程中,工作人员可以预先将每个用户对应的唯一身份标识与用户等级之间的映射关系存储在用户中心服务中,也可以预先将每个用户对应的唯一身份标识与用户等级之间的映射关系存储在数据权限控制服务中,本申请实施例对此不进行具体限定。
204、将目标数据查询语句发送至目标数据库。
其中,关于步骤204、将目标数据查询语句发送至目标数据库,可以参考图1对应部分的描述,本申请实施例此处将不再赘述。
205、接收目标数据库反馈的查询结果数据,并将查询结果数据发送至目标客户端。
其中,关于步骤205、接收目标数据库反馈的查询结果数据,并将查询结果数据发送至目标客户端,可以参考图1对应部分的描述,本申请实施例此处将不再赘述。
为了实现上述目的,根据本申请的另一方面,本申请实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据权限控制方法。
为了实现上述目的,根据本申请的另一方面,本申请实施例还提供了一种数据权限控制装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的数据权限控制方法。
进一步的,作为对上述图1及图2所示方法的实现,本申请另一实施例还提供了一种数据权限控制服务。该实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的数据权限控制服务能够对应实现前述方法实施例中的全部内容。该数据权限控制服务应用于在不改变客户端业务代码的基础上,实现客户端的数据权限控制,具体如图3所示,该数据权限控制服务包括:
接收单元31,用于接收目标客户端发送的数据查询请求,其中,所述数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;
第一获取单元32,用于根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息;
处理单元33,用于根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句;
第一发送单元34,用于将所述目标数据查询语句发送至目标数据库,以便所述目标数据库根据所述目标数据查询语句进行查询处理,以获得所述目标数据查询语句对应的查询结果数据;
第二发送单元35,用于接收所述目标数据库反馈的所述查询结果数据,并将所述查询结果数据发送至所述目标客户端。
进一步的,如图4所示,第一获取单元32包括:
发送模块321,用于将所述目标用户对应的唯一身份标识发送至用户中心服务,以便所述用户中心服务根据所述目标用户对应的唯一身份标识进行查询处理,以获得所述目标用户对应的权限信息,其中,所述用户中心服务存储有每个用户对应的唯一身份标识与权限信息之间的映射关系;
接收模块322,用于接收所述用户中心服务反馈的、所述目标用户对应的权限信息。
进一步的,如图4所示,处理单元33,具体用于对所述原始数据查询语句进行解析处理;若解析成功,则获得所述原始数据查询语句对应的抽象语法树;根据所述权限信息在所述抽象语法树中添加过滤条件,以获得修改后的所述抽象语法树;对修改后的所述抽象语法树进行编译处理,以获得所述目标数据查询语句。
进一步的,如图4所示,处理单元33,还用于若解析失败,则根据所述目标用户对应的唯一身份标识获取所述目标用户对应的用户等级;当所述目标用户对应的用户等级大于预设等级阈值时,将所述原始数据查询语句确定为所述目标数据查询语句;当所述目标用户对应的用户等级小于或等于所述预设等级阈值时,向所述目标客户端发送报错信息。
进一步的,如图4所示,该数据权限控制服务还包括:
第二获取单元36,用于在接收单元31接收目标客户端发送的数据查询请求之后,获取所述目标客户端对应的历史数据查询次数;
第三发送单元37,用于当所述历史数据查询次数大于数据查询次数阈值时,向所述目标客户端发送报错信息;
第一获取单元32,具体用于当所述历史数据查询次数小于或等于所述数据查询次数阈值时,根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息。
本申请实施例提供一种数据权限控制方法及数据权限控制服务,本申请实施例能够在数据权限控制服务接收得到目标客户端发送的、携带有原始数据查询语句和目标用户对应的唯一身份标识的数据查询请求后,先根据目标用户对应的唯一身份标识,获取目标用户对应的权限信息,再根据目标用户对应的权限信息对原始数据查询语句进行数据权限控制处理,从而获得目标数据查询语句,最后,将目标数据查询语句发送至目标数据库,由目标数据库根据目标数据查询语句进行查询处理,从而获得目标数据查询语句对应的查询结果数据;目标数据库在查询得到目标数据查询语句对应的查询结果数据后,将查询结果数据反馈给数据权限控制服务,由数据权限控制服务将查询结果数据发送至目标客户端。由于,数据权限控制服务向目标客户端反馈的查询结果数据为目标数据库根据包含目标用户权限信息的目标数据查询语句查询得到的,因此,查询结果数据即为目标用户具备的数据查看权限能够查看的数据,从而实现在不改变目标客户端业务代码的基础上,完成对目标客户端的数据权限控制。
本申请实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据权限控制方法。
存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例还提供了一种数据权限控制装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的数据权限控制方法。
本申请实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
接收目标客户端发送的数据查询请求,其中,所述数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;
根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息;
根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句;
将所述目标数据查询语句发送至目标数据库,以便所述目标数据库根据所述目标数据查询语句进行查询处理,以获得所述目标数据查询语句对应的查询结果数据;
接收所述目标数据库反馈的所述查询结果数据,并将所述查询结果数据发送至所述目标客户端。
进一步的,所述根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息,包括:
将所述目标用户对应的唯一身份标识发送至用户中心服务,以便所述用户中心服务根据所述目标用户对应的唯一身份标识进行查询处理,以获得所述目标用户对应的权限信息,其中,所述用户中心服务存储有每个用户对应的唯一身份标识与权限信息之间的映射关系;
接收所述用户中心服务反馈的、所述目标用户对应的权限信息。
进一步的,所述根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句,包括:
对所述原始数据查询语句进行解析处理;
若解析成功,则获得所述原始数据查询语句对应的抽象语法树;
根据所述权限信息在所述抽象语法树中添加过滤条件,以获得修改后的所述抽象语法树;
对修改后的所述抽象语法树进行编译处理,以获得所述目标数据查询语句。
进一步的,所述方法还包括:
若解析失败,则根据所述目标用户对应的唯一身份标识获取所述目标用户对应的用户等级;
当所述目标用户对应的用户等级大于预设等级阈值时,将所述原始数据查询语句确定为所述目标数据查询语句;
当所述目标用户对应的用户等级小于或等于所述预设等级阈值时,向所述目标客户端发送报错信息。
进一步的,在所述接收目标客户端发送的数据查询请求之后,所述方法还包括:
获取所述目标客户端对应的历史数据查询次数;
若所述历史数据查询次数大于数据查询次数阈值,则向所述目标客户端发送报错信息;
若所述历史数据查询次数小于或等于所述数据查询次数阈值,则进入根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息的步骤。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:接收目标客户端发送的数据查询请求,其中,所述数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息;根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句;将所述目标数据查询语句发送至目标数据库,以便所述目标数据库根据所述目标数据查询语句进行查询处理,以获得所述目标数据查询语句对应的查询结果数据;接收所述目标数据库反馈的所述查询结果数据,并将所述查询结果数据发送至所述目标客户端。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据权限控制方法,其特征在于,所述方法应用于数据权限控制服务,包括:
接收目标客户端发送的数据查询请求,其中,所述数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;
根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息;
根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句;
将所述目标数据查询语句发送至目标数据库,以便所述目标数据库根据所述目标数据查询语句进行查询处理,以获得所述目标数据查询语句对应的查询结果数据;
接收所述目标数据库反馈的所述查询结果数据,并将所述查询结果数据发送至所述目标客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息,包括:
将所述目标用户对应的唯一身份标识发送至用户中心服务,以便所述用户中心服务根据所述目标用户对应的唯一身份标识进行查询处理,以获得所述目标用户对应的权限信息,其中,所述用户中心服务存储有每个用户对应的唯一身份标识与权限信息之间的映射关系;
接收所述用户中心服务反馈的、所述目标用户对应的权限信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句,包括:
对所述原始数据查询语句进行解析处理;
若解析成功,则获得所述原始数据查询语句对应的抽象语法树;
根据所述权限信息在所述抽象语法树中添加过滤条件,以获得修改后的所述抽象语法树;
对修改后的所述抽象语法树进行编译处理,以获得所述目标数据查询语句。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若解析失败,则根据所述目标用户对应的唯一身份标识获取所述目标用户对应的用户等级;
当所述目标用户对应的用户等级大于预设等级阈值时,将所述原始数据查询语句确定为所述目标数据查询语句;
当所述目标用户对应的用户等级小于或等于所述预设等级阈值时,向所述目标客户端发送报错信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述接收目标客户端发送的数据查询请求之后,所述方法还包括:
获取所述目标客户端对应的历史数据查询次数;
若所述历史数据查询次数大于数据查询次数阈值,则向所述目标客户端发送报错信息;
若所述历史数据查询次数小于或等于所述数据查询次数阈值,则进入根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息的步骤。
6.一种数据权限控制服务,其特征在于,包括:
接收单元,用于接收目标客户端发送的数据查询请求,其中,所述数据查询请求中包含原始数据查询语句和目标用户对应的唯一身份标识;
第一获取单元,用于根据所述目标用户对应的唯一身份标识获取所述目标用户对应的权限信息;
处理单元,用于根据所述权限信息对所述原始数据查询语句进行数据权限控制处理,以获得目标数据查询语句;
第一发送单元,用于将所述目标数据查询语句发送至目标数据库,以便所述目标数据库根据所述目标数据查询语句进行查询处理,以获得所述目标数据查询语句对应的查询结果数据;
第二发送单元,用于接收所述目标数据库反馈的所述查询结果数据,并将所述查询结果数据发送至所述目标客户端。
7.根据权利要求6所述的数据权限控制服务,其特征在于,所述第一获取单元包括:
发送模块,用于将所述目标用户对应的唯一身份标识发送至用户中心服务,以便所述用户中心服务根据所述目标用户对应的唯一身份标识进行查询处理,以获得所述目标用户对应的权限信息,其中,所述用户中心服务存储有每个用户对应的唯一身份标识与权限信息之间的映射关系;
接收模块,用于接收所述用户中心服务反馈的、所述目标用户对应的权限信息。
8.根据权利要求6所述的数据权限控制服务,其特征在于,
所述处理单元,具体用于对所述原始数据查询语句进行解析处理;若解析成功,则获得所述原始数据查询语句对应的抽象语法树;根据所述权限信息在所述抽象语法树中添加过滤条件,以获得修改后的所述抽象语法树;对修改后的所述抽象语法树进行编译处理,以获得所述目标数据查询语句。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任一项所述的数据权限控制方法。
10.一种数据权限控制装置,其特征在于,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行权利要求1至5中任一项所述的数据权限控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210530832.9A CN114861208A (zh) | 2022-05-17 | 2022-05-17 | 数据权限控制方法及数据权限控制服务 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210530832.9A CN114861208A (zh) | 2022-05-17 | 2022-05-17 | 数据权限控制方法及数据权限控制服务 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114861208A true CN114861208A (zh) | 2022-08-05 |
Family
ID=82638310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210530832.9A Pending CN114861208A (zh) | 2022-05-17 | 2022-05-17 | 数据权限控制方法及数据权限控制服务 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861208A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906161A (zh) * | 2022-11-18 | 2023-04-04 | 优地网络有限公司 | 数据查询控制方法、服务器和存储介质 |
CN116049882A (zh) * | 2023-01-11 | 2023-05-02 | 安芯网盾(北京)科技有限公司 | 一种基于分组的数据权限控制方法及系统 |
CN116341007A (zh) * | 2023-03-29 | 2023-06-27 | 阿里巴巴(中国)有限公司 | 一种数据查询方法、系统、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530568A (zh) * | 2012-07-02 | 2014-01-22 | 阿里巴巴集团控股有限公司 | 权限控制方法、装置及系统 |
CN111414407A (zh) * | 2020-02-13 | 2020-07-14 | 中国平安人寿保险股份有限公司 | 数据库的数据查询方法、装置、计算机设备及存储介质 |
CN112000992A (zh) * | 2020-10-29 | 2020-11-27 | 腾讯科技(深圳)有限公司 | 数据防泄漏保护方法、装置、计算机可读介质及电子设备 |
US20210191934A1 (en) * | 2020-09-04 | 2021-06-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Target data obtaining method and apparatus |
-
2022
- 2022-05-17 CN CN202210530832.9A patent/CN114861208A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530568A (zh) * | 2012-07-02 | 2014-01-22 | 阿里巴巴集团控股有限公司 | 权限控制方法、装置及系统 |
CN111414407A (zh) * | 2020-02-13 | 2020-07-14 | 中国平安人寿保险股份有限公司 | 数据库的数据查询方法、装置、计算机设备及存储介质 |
US20210191934A1 (en) * | 2020-09-04 | 2021-06-24 | Beijing Baidu Netcom Science Technology Co., Ltd. | Target data obtaining method and apparatus |
CN112000992A (zh) * | 2020-10-29 | 2020-11-27 | 腾讯科技(深圳)有限公司 | 数据防泄漏保护方法、装置、计算机可读介质及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906161A (zh) * | 2022-11-18 | 2023-04-04 | 优地网络有限公司 | 数据查询控制方法、服务器和存储介质 |
CN116049882A (zh) * | 2023-01-11 | 2023-05-02 | 安芯网盾(北京)科技有限公司 | 一种基于分组的数据权限控制方法及系统 |
CN116341007A (zh) * | 2023-03-29 | 2023-06-27 | 阿里巴巴(中国)有限公司 | 一种数据查询方法、系统、设备及存储介质 |
WO2024198875A1 (zh) * | 2023-03-29 | 2024-10-03 | 杭州阿里云飞天信息技术有限公司 | 数据查询方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2022224756B2 (en) | Managing verification repositories to facilitate real-time servicing of verification queries | |
US11392586B2 (en) | Data protection method and device and storage medium | |
US20240354213A1 (en) | Graph-based impact analysis of misconfigured or compromised cloud resources | |
CN114861208A (zh) | 数据权限控制方法及数据权限控制服务 | |
US8887271B2 (en) | Method and system for managing object level security using an object definition hierarchy | |
US10116732B1 (en) | Automated management of resource attributes across network-based services | |
CN103559118B (zh) | 一种基于aop与注解信息系统的安全审计方法 | |
US9367586B2 (en) | Data validation and service | |
WO2020238359A1 (zh) | 分区授权方法、装置、设备及计算机可读存储介质 | |
CN110990420A (zh) | 数据查询方法、装置 | |
US20210349743A1 (en) | Systems and methods for converting record formats | |
CN112491943B (zh) | 数据请求方法、装置、存储介质和电子设备 | |
KR20220088958A (ko) | 확장 가능한 클러스터에서 연결을 관리하기 위한 시스템 및 방법 | |
CN110895537A (zh) | 自由查询权限控制的方法及装置 | |
CN114490679A (zh) | 一种基于标识解析的数据治理方法、装置、设备及介质 | |
US20120216240A1 (en) | Providing data security through declarative modeling of queries | |
US11222035B2 (en) | Centralized multi-tenancy as a service in cloud-based computing environment | |
WO2025152628A1 (zh) | 应用程序接口资产的管理方法、装置及电子设备 | |
US20060085423A1 (en) | Rules of engagement for deterministic Web services | |
KR20050073349A (ko) | 3-Tier 구조 기반의 데이터베이스 접근 통제 시스템및 방법 | |
US20190197108A1 (en) | Method for managing semantic information on m2m/iot platform | |
Ali et al. | A provenance-aware policy language (cprovl) and a data traceability model (cprov) for the cloud | |
US20130097622A1 (en) | Framework for system communication for handling data | |
CN114969722A (zh) | 一种支撑多数据类型的政务数据隐私计算系统 | |
CN116303619A (zh) | 指令的查询方法和装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |