用于确定数据权限的方法、装置、存储介质及处理器制造方法及图纸

技术编号:37842356 阅读:10 留言:0更新日期:2023-06-14 09:46
本申请实施例提供一种用于确定数据权限的方法、装置、存储介质及处理器。包括:获取用户的调用请求,调用请求有用户第一角色的第一权限数据;获取初始查询函数的第一注解;解析初始查询函数,得到初始条件表达式;根据第一注解、第一权限数据以及初始条件表达式生成第一角色的查询语句,查询与第一角色的查询语句对应的数据;在用户切换至第二角色的情况下,获取第二角色对应的第二权限数据;根据第二权限数据、第一注解以及初始条件表达式生成第二角色的查询语句,查询与第二角色的查询语句对应的数据。能够实现查询语句的动态拼接,不改变查询方式就能够查询到不同的权限数据,极大地降低了权限配置的复杂性,提高了查询效率,节约了开发成本。节约了开发成本。节约了开发成本。

【技术实现步骤摘要】
用于确定数据权限的方法、装置、存储介质及处理器


[0001]本申请涉及数据处理
,具体涉及一种用于确定数据权限的方法、装置、存储介质及处理器。

技术介绍

[0002]目前,数据安全的重要性至关重要。亟需有效地保证数据的安全,实现数据的保密性,因为数据库中存放着大量的数据,这些数据可供拥有一定职责和权力的用户共享。但是,很难严格的针对用户的不同身份去限制他们只能得到一些与他们身份相匹配的数据。现有技术中实现数据权限的方式是开发人员根据每个查询中自己拼接的SQL语句,来确定用户的权限数据。但是,每个查询语句中都有大量的数据权限变量占位符,使得SQL语句拼接缓慢,且不够精准,无法精准的确定用户的数据权限。且工作量繁重,效率低下。

技术实现思路

[0003]本申请实施例的目的是提供一种用于确定数据权限的方法、装置、存储介质及处理器。
[0004]为了实现上述目的,本申请第一方面提供一种用于确定数据权限的方法,包括:
[0005]获取用户针对数据查询接口的调用请求,调用请求携带有用户的第一角色的第一权限数据;
[0006]在根据调用请求所执行对应的初始查询函数时,调用拦截器获取初始查询函数的第一注解,其中,第一注解用于确定调用请求与数据表的映射关系;
[0007]解析初始查询函数,以得到初始条件表达式;
[0008]根据第一注解确定用户待查询数据的第一数据,其中,第一数据包括待查询数据在数据表中所在列的名称;
[0009]根据第一权限数据和第一数据生成第一角色的第一权限表达式;
[0010]根据第一权限表达式与初始条件表达式生成第一角色的查询语句,以查询待查询数据中与第一角色的查询语句对应的数据;
[0011]在用户切换至第二角色的情况下,获取第二角色对应的第二权限数据;
[0012]根据第二权限数据和第一数据生成第二角色的第二权限表达式,并根据第二权限表达式与初始条件表达式生成第二角色的查询语句,以查询待查询数据中与第二角色的查询语句对应的数据。
[0013]在本申请实施例中,第一注解包括第一子注解和第二子注解,根据第一注解确定用户待查询数据的第一数据包括:根据第一子注解确定用户待查询数据对应的实体类,其中,实体类包括多个字段;获取每个字段上的第二子注解;根据第二子注解确定第一数据。
[0014]在本申请实施例中,方法还包括:在获取用户针对数据查询接口的调用请求之后,将第一权限数据存储至预设寄存器中;根据第一权限数据和第一数据生成第一角色的第一权限表达式包括:从预设寄存器中获取第一权限数据;根据第一权限数据和第一数据生成
第一角色的第一权限表达式。
[0015]在本申请实施例中,方法还包括:在获取用户针对数据查询接口的调用请求之前,对与数据查询接口对应的所有初始查询函数添加第一注解。
[0016]在本申请实施例中,解析初始查询函数,以得到初始条件表达式包括:解析初始查询函数,以得到与初始查询函数对应的初始查询语句;根据初始查询语句确定初始条件表达式。
[0017]在本申请实施例中,拦截器为Mybatis。
[0018]本申请第二方面提供一种用于确定数据权限的装置,包括:
[0019]第一权限确定模块,用于获取用户针对数据查询接口的调用请求,调用请求携带有用户的第一角色的第一权限数据;
[0020]调用模块,用于在根据调用请求所执行对应的初始查询函数时,调用拦截器获取初始查询函数的第一注解,其中,第一注解用于确定调用请求与数据表的映射关系;
[0021]解析模块,用于解析初始查询函数,以得到初始条件表达式;
[0022]第一数据处理模块,用于根据第一注解确定用户待查询数据的第一数据,其中,第一数据包括待查询数据在数据表中所在列的名称;
[0023]第二数据处理模块,用于根据第一权限数据和第一数据生成第一角色的第一权限表达式;
[0024]第三数据处理模块,用于根据第一权限表达式与初始条件表达式生成第一角色的查询语句,以查询待查询数据中与第一角色的查询语句对应的数据;
[0025]第二权限确定模块,用于在用户切换至第二角色的情况下,获取第二角色对应的第二权限数据;
[0026]第四数据处理模块,用于根据第二权限数据和第一数据生成第二角色的第二权限表达式,并根据第二权限表达式与初始条件表达式生成第二角色的查询语句,以查询待查询数据中与第二角色的查询语句对应的数据。
[0027]在本申请实施例中,装置还包括第五数据处理模块,被配置成:在获取用户针对数据查询接口的调用请求,调用请求携带有用户的第一角色的第一权限数据之前,在与数据查询接口对应的所有初始查询函数上添加第一注解。
[0028]本申请第三方面提供一种处理器,被配置成执行上述的用于确定数据权限的方法。
[0029]本申请第四方面提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得所述处理器被配置成执行上述的用于确定数据权限的方法。
[0030]上述技术方案,通过获取用户针对数据查询接口的调用请求,调用请求携带有用户的第一角色的第一权限数据;在根据调用请求所执行对应的初始查询函数时,调用拦截器获取初始查询函数的第一注解,其中,第一注解用于确定调用请求与数据表的映射关系;解析初始查询函数,以得到初始条件表达式;根据第一注解确定用户待查询数据的第一数据,其中,第一数据包括待查询数据在数据表中所在列的名称;根据第一权限数据和第一数据生成第一角色的第一权限表达式;根据第一权限表达式与初始条件表达式生成第一角色的查询语句,以查询待查询数据中与第一角色的查询语句对应的数据;在用户切换至第二
角色的情况下,获取第二角色对应的第二权限数据;根据第二权限数据和第一数据生成第二角色的第二权限表达式,并根据第二权限表达式与初始条件表达式生成第二角色的查询语句,以查询待查询数据中与第二角色的查询语句对应的数据。通过该技术方案能够实现查询语句的动态拼接,不改变查询方式就能够查询到不同的权限数据,极大地降低了权限配置的复杂性,提高了查询效率,节约了开发成本。
[0031]本申请实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
[0032]附图是用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
[0033]图1示意性示出了根据本申请实施例的用于确定数据权限的方法的第一种流程示意图;
[0034]图2示意性示出了根据本申请实施例的用于确定数据权限的方法的第二种流程示意图;
[0035]图3示意性示出了根据本申请实施例的用于确定数据权限的装置的第一种结构框图;
[0036]图4示意性示出了根据本申请实施例的用于确定数据权限的装置的第二种结构框图;
[0037]图5示意性示出了根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于确定数据权限的方法,其特征在于,所述方法包括:获取用户针对数据查询接口的调用请求,所述调用请求携带有所述用户的第一角色的第一权限数据;在根据所述调用请求所执行对应的初始查询函数时,调用拦截器获取所述初始查询函数的第一注解,其中,所述第一注解用于确定所述调用请求与数据表的映射关系;解析所述初始查询函数,以得到初始条件表达式;根据所述第一注解确定所述用户待查询数据的第一数据,其中,所述第一数据包括所述待查询数据在所述数据表中所在列的名称;根据所述第一权限数据和所述第一数据生成所述第一角色的第一权限表达式;根据所述第一权限表达式与所述初始条件表达式生成所述第一角色的查询语句,以查询所述待查询数据中与所述第一角色的查询语句对应的数据;在所述用户切换至第二角色的情况下,获取所述第二角色对应的第二权限数据;根据所述第二权限数据和所述第一数据生成所述第二角色的第二权限表达式,并根据所述第二权限表达式与所述初始条件表达式生成所述第二角色的查询语句,以查询所述待查询数据中与所述第二角色的查询语句对应的数据。2.根据权利要求1所述的用于确定数据权限的方法,其特征在于,所述第一注解包括第一子注解和第二子注解,所述根据所述第一注解确定所述用户待查询数据的第一数据包括:根据所述第一子注解确定所述用户待查询数据对应的实体类,其中,所述实体类包括多个字段;获取每个字段上的第二子注解;根据所述第二子注解确定所述第一数据。3.根据权利要求1所述的用于确定数据权限的方法,其特征在于,所述方法还包括:在所述获取用户针对数据查询接口的调用请求之后,将所述第一权限数据存储至预设寄存器中;所述根据所述第一权限数据和所述第一数据生成所述第一角色的第一权限表达式包括:从所述预设寄存器中获取所述第一权限数据;根据所述第一权限数据和所述第一数据生成所述第一角色的第一权限表达式。4.根据权利要求1所述的用于确定数据权限的方法,其特征在于,所述方法还包括:在所述获取用户针对数据查询接口的调用请求之前,对与所述数据查询接口对应的所有初始查询函数添加第一注解。5.根据权利要求1所述的用于确定数据权限的方法,其特征在于,所述解析所述初始查询函数,以得到初始条...

【专利技术属性】
技术研发人员:陈利刚
申请(专利权)人:中科云谷科技有限公司
类型:发明
国别省市:

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

1