System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据权限控制方法、装置、电子设备及计算机存储介质制造方法及图纸_技高网

数据权限控制方法、装置、电子设备及计算机存储介质制造方法及图纸

技术编号:41298730 阅读:2 留言:0更新日期:2024-05-13 14:46
本申请公开了一种数据权限控制方法、装置、电子设备及计算机存储介质。其中,上述方法包括:接收数据访问请求;基于数据访问请求在统一接口处获取对应的SQL语句;按照预设规则解析SQL语句,得到SQL语句对应的解析结果;基于预设数据权限控制策略对解析结果进行权限控制处理,得到解析结果对应的权限控制结果;基于解析结果以及权限控制结果按照预设规则重组SQL语句,得到目标SQL语句;基于目标SQL语句获取进行数据权限控制后数据访问请求对应的访问结果,实现在一个控制点对软件系统所有数据访问进行权限控制处理,无需在权限控制策略发生变化时修改软件系统实现代码,能够及时地、灵活地、有效地实施数据权限控制策略。

【技术实现步骤摘要】

本申请涉及计算机信息处理,尤其涉及一种数据权限控制方法、装置、电子设备及计算机存储介质


技术介绍

1、当前,信息技术已经融入到社会生活各个方面,软件系统不计其数,这些软件系统在带来效率提升、生活便利的同时,也引入了数据、隐私泄露的风险。目前,在对软件系统进行数据权限控制时,需要对每个控制点分别实施相应的数据权限控制策略。当软件系统的数据权限控制策略发生变化时,需要新增控制点或修改对应控制点的数据权限控制逻辑。

2、这种分散的数据权限控制方法,给软件系统的维护带来了很大的挑战,对控制点和/或数据权限控制逻辑的调整,很有可能引入新的代码缺陷。同时,软件系统的用户也不能及时地、灵活地实施与所属组织相匹配的数据权限控制策略。


技术实现思路

1、本申请实施例提供了一种数据权限控制方法、装置、电子设备及计算机存储介质,实现在一个控制点对软件系统所有数据访问进行权限控制处理,无需在权限控制策略发生变化时修改软件系统实现代码,能够及时地、灵活地、有效地实施数据权限控制策略。上述技术方案如下:

2、第一方面,本申请实施例提供了一种数据权限控制方法,上述方法包括:

3、接收数据访问请求;

4、基于上述数据访问请求在统一接口处获取对应的sql语句;

5、按照预设规则解析上述sql语句,得到上述sql语句对应的解析结果;

6、基于预设数据权限控制策略对上述解析结果进行权限控制处理,得到上述解析结果对应的权限控制结果;

7、基于上述解析结果以及上述权限控制结果按照上述预设规则重组上述sql语句,得到目标sql语句;

8、基于上述目标sql语句获取进行数据权限控制后上述数据访问请求对应的访问结果。

9、在一种可能的实现方式中,上述接收数据访问请求中携带有进行数据访问的目标用户对应的目标用户标识;上述基于上述数据访问请求在统一接口处获取对应的sql语句之后,上述按照预设规则解析上述sql语句,得到上述sql语句对应的解析结果之前,上述方法还包括:

10、基于上述目标用户标识以及预设数据权限控制策略判断上述目标用户是否具有数据访问权限;

11、若上述目标用户没有数据访问权限,向上述目标用户对应的终端返回无权访问结果;

12、上述按照预设规则解析上述sql语句,得到上述sql语句对应的解析结果,包括:

13、若上述目标用户具有数据访问权限,按照预设规则解析上述sql语句,得到上述sql语句对应的解析结果。

14、在一种可能的实现方式中,上述预设数据权限控制策略包括至少一个用户名以及每个上述用户名对应的数据访问权限;上述用户名为通过鉴权能够使用上述数据访问请求对应的软件系统的用户名称;

15、上述基于预设数据权限控制策略对上述解析结果进行权限控制处理,得到上述解析结果对应的权限控制结果,包括:

16、基于上述目标用户标识从上述预设数据权限控制策略中查询上述目标用户对应的目标数据访问权限;

17、基于上述目标数据访问权限对上述解析结果进行权限标记,得到上述解析结果对应的权限控制结果。

18、在一种可能的实现方式中,上述解析结果包括上述sql语句对应的至少一个解析目标;上述每个解析目标由上述sql语句中的表名称和/或字段名称组成;上述目标数据访问权限包括至少一个权限目标;每个上述权限目标由上述目标用户不能够访问的第一目标表名称和/或第一目标字段名称组成;

19、上述基于上述目标数据访问权限对上述解析结果进行权限标记,得到上述解析结果对应的权限控制结果,包括:

20、将上述至少一个解析目标分别与每个上述权限目标进行匹配;

21、若上述至少一个解析目标中存在与上述权限目标匹配的第一解析目标,则将上述第一解析目标标记为拒绝;

22、若上述至少一个解析目标中存在与上述权限目标不匹配的第二解析目标,则将上述第二解析目标标记为允许;

23、上述基于上述解析结果以及上述权限控制结果按照上述预设规则重组上述sql语句,得到目标sql语句,包括:

24、将标记为拒绝的上述第一解析目标从上述解析结果中移除,并将移除所述第一解析目标之后的上述解析结果按照上述预设规则进行重组,得到目标sql语句。

25、在一种可能的实现方式中,上述sql语句包括以下至少一种:查询类sql语句、修改类sql语句以及增添类sql语句;上述解析结果还包括上述sql语句的字段值和where子句逻辑;上述where子句逻辑用于表征上述sql语句中的where条件的逻辑运算树;

26、上述将移除之后的上述解析结果按照上述预设规则进行重组,包括:

27、基于上述where子句逻辑按照上述预设规则对标记为允许的上述第二解析目标以及上述字段值进行重组,得到目标sql语句。

28、在一种可能的实现方式中,上述基于上述目标sql语句获取进行数据权限控制后上述数据访问请求对应的访问结果,包括:

29、判断上述目标sql语句是否为空;

30、若上述目标sql语句为空,则将进行数据权限控制后上述数据访问请求对应的访问结果确定为无权访问;

31、若上述目标sql语句不为空,则将上述目标sql语句发送至数据库服务器执行;

32、获取上述数据库服务器执行上述目标sql语句后的执行结果,并将上述执行结果返回至上述目标用户对应的终端。

33、在一种可能的实现方式中,上述预设规则包括sql语法和语义规则。

34、第二方面,本申请实施例提供了一种数据权限控制装置,上述数据权限控制装置包括:

35、接收模块,用于接收数据访问请求;

36、第一获取模块,用于基于上述数据访问请求在统一接口处获取对应的sql语句;

37、解析模块,用于按照预设规则解析上述sql语句,得到上述sql语句对应的解析结果;

38、权限控制处理模块,用于基于预设数据权限控制策略对上述解析结果进行权限控制处理,得到上述解析结果对应的权限控制结果;

39、重组模块,用于基于上述解析结果以及上述权限控制结果按照上述预设规则重组上述sql语句,得到目标sql语句;

40、第二获取模块,用于基于上述目标sql语句获取进行数据权限控制后上述数据访问请求对应的访问结果。

41、在一种可能的实现方式中,上述接收数据访问请求中携带有进行数据访问的目标用户对应的目标用户标识;上述数据权限控制装置还包括:

42、判断模块,用于基于上述目标用户标识以及预设数据权限控制策略判断上述目标用户是否具有数据访问权限;

43、返回模块,用于若上述目标用户没有数据访问权限,向上述目标用户对应的终端返回无权访问结果;

44、上述解析模块具体用于:

45、若上述目标用本文档来自技高网...

【技术保护点】

1.一种数据权限控制方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述接收数据访问请求中携带有进行数据访问的目标用户对应的目标用户标识;所述基于所述数据访问请求在统一接口处获取对应的SQL语句之后,所述按照预设规则解析所述SQL语句,得到所述SQL语句对应的解析结果之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述预设数据权限控制策略包括至少一个用户名以及每个所述用户名对应的数据访问权限;所述用户名为通过鉴权能够使用所述数据访问请求对应的软件系统的用户名称;

4.根据权利要求3所述的方法,其特征在于,所述解析结果包括:所述SQL语句对应的至少一个解析目标;所述每个解析目标由所述SQL语句中的表名称和/或字段名称组成;所述目标数据访问权限包括至少一个权限目标;每个所述权限目标由所述目标用户不能够访问的第一目标表名称和/或第一目标字段名称组成;

5.根据权利要求4所述的方法,其特征在于,所述SQL语句包括以下至少一种:查询类SQL语句、修改类SQL语句以及增添类SQL语句;所述解析结果还包括所述SQL语句的字段值和WHERE子句逻辑;所述WHERE子句逻辑用于表征所述SQL语句中的WHERE条件的逻辑运算树;

6.根据权利要求1所述的方法,其特征在于,所述基于所述目标SQL语句获取进行数据权限控制后所述数据访问请求对应的访问结果,包括:

7.根据权利要求1-6任一项所述的方法,其特征在于,所述预设规则包括SQL语法和语义规则。

8.一种数据权限控制装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,包括:处理器和存储器;其中,

10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-7任一项的方法步骤。

...

【技术特征摘要】

1.一种数据权限控制方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述接收数据访问请求中携带有进行数据访问的目标用户对应的目标用户标识;所述基于所述数据访问请求在统一接口处获取对应的sql语句之后,所述按照预设规则解析所述sql语句,得到所述sql语句对应的解析结果之前,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述预设数据权限控制策略包括至少一个用户名以及每个所述用户名对应的数据访问权限;所述用户名为通过鉴权能够使用所述数据访问请求对应的软件系统的用户名称;

4.根据权利要求3所述的方法,其特征在于,所述解析结果包括:所述sql语句对应的至少一个解析目标;所述每个解析目标由所述sql语句中的表名称和/或字段名称组成;所述目标数据访问权限包括至少一个权限目标;每个所述权限目标由所述目标用户不能够访问的第一目标表名称和/或第一目标字段...

【专利技术属性】
技术研发人员:牟流
申请(专利权)人:三六零数字安全科技集团有限公司
类型:发明
国别省市:

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

1