System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于非侵入式低代码数据权限管控方法、装置及介质制造方法及图纸_技高网

基于非侵入式低代码数据权限管控方法、装置及介质制造方法及图纸

技术编号:40874656 阅读:2 留言:0更新日期:2024-04-08 16:43
本发明专利技术属于低代码开发技术领域,具体涉及一种基于非侵入式低代码数据权限管控方法、装置及介质,包括以下步骤:S1.用户在低代码平台编写业务查询SQL;S2.用户在低代码平台的权限管理界面上进行权限配置;S3.低代码平台捕获用户提交的SQL,在低代码平台的查询重写引擎中,根据用户配置的权限动态修改SQL;S4.低代码平台自动执行动态修改后的SQL。本发明专利技术通过捕获用户提交的SQL查询,结合预定义的权限规则动态修改SQL,不必在业务逻辑中嵌入权限控制代码,利用非侵入式的方式进行权限管控,提高了权限管控的灵活性、可维护性和可扩展性,降低了侵入式带来的潜在风险。

【技术实现步骤摘要】

本专利技术属于低代码开发,尤其涉及一种基于非侵入式低代码数据权限管控方法、装置及介质,旨在为数据权限管理提供高效、安全、灵活的解决方案。


技术介绍

1、传统软件开发中,权限管控通常通过硬编码的方式实现,权限配置信息被固定在代码中,不易修改和调整。低代码平台通过配置文件或者数据库存储权限配置信息,使得权限动态调整,满足在不同阶段的权限管理需求。虽然低代码平台快速迭代开发,不需要繁琐的编写代码和架构基础设施,但是如何在低代码开发平台上实现高度可定制的用户权限管控仍然是一个需要解决的问题。如果不采用恰当的用户权限控制方法,可能会导致不必要的数据泄露,或者严重的数据破坏。

2、经对现有技术文献的检索发现,现有低代码系统中权限数据管控主要是以硬编码的方式,在数据库存储权限信息。例如专利号cn116738451a的《低代码平台的权限控制的方法、平台、设备及存储介质》中提出的元数据权限管理方式:通过注册并识别第一业务表作为低代码平台的平台元数据表,再基于主键标识、表项集以及元数据名称生成权限元数据,最后利用权限元数据和用户数据生成元数据权限列,并将其更新至权限角色映射列表。以上方案的本质是通过硬编码方式真正地在系统数据库中创建一张数据表,需要时再拼接主表和权限表达到实现select字段(列权限)和where语句(行权限)的效果。这种方式限制了系统的灵活性、可维护性和可扩展性,降低了开发效率并增加了潜在的风险。


技术实现思路

1、针对现有技术存在的问题和应用需求,本专利技术的主要目的在于提出一种基于非侵入式低代码数据权限管控方法、装置及介质,旨在提升低代码平台的权限配置的便利性,满足现代业务应用中日益复杂和多样化的数据权限需求,同时确保数据安全性,以满足不同行业和应用领域的数据权限需求。

2、一种基于非侵入式低代码数据权限管控方法,包括以下步骤:

3、s1.用户在低代码平台编写业务查询sql;

4、s2.用户在低代码平台的权限管理界面上进行权限配置;

5、s3.低代码平台捕获用户提交的sql,在低代码平台的查询重写引擎中,根据用户配置的权限动态修改sql;

6、s4.低代码平台自动执行动态修改后的sql。

7、进一步地,所述s1中用户编写业务查询sql的过程包括:

8、用户登录低代码平台,进入sql编写控制台,编写业务查询sql。

9、进一步地,所述s2中用户进行权限配置的过程包括:

10、s21.用户根据特定业务需求,访问权限配置界面;

11、s22.用户从已定义的业务数据列表中选择要进行权限配置的数据表,确保权限配置精准地针对特定数据表进行;

12、s23.用户将数据访问规则配置给特定角色,数据访问规则包括数据行访问规则、数据字段访问规则、数据字段修改规则、数据删除规则、数据增加规则;

13、s24.用户可以将权限授予特定角色,以修改角色对业务表的数据操作权限,也可以关联特定用户或用户组与相应的角色,确保用户能够继承所分配的权限。

14、进一步地,所述s3中低代码平台捕获并动态修改sql的过程包括:

15、s31.解析用户提交的sql语句,区分select、update、insert into、delete from子句,对不同子句分类处理;

16、s32.对于select子句,先处理sql语句中的数据行权限;

17、对数据行权限的管控:获取sql语句中表的列表sl1;根据s2中用户定义的数据访问规则,将此规则集与列表sl1进行匹配,筛选出需要控制数据权限的表的列表sl2;对列表sl2进行扩展,将每个表的数据权限规则生成基于该表的select语句,从表中筛选出符合访问规则的数据;将列表sl2中所有表展开后,作为子查询替换原sql查询语句from子句后的表名;

18、s33.对于select子句,再处理sql语句中的数据列权限;

19、对数据列权限的管控:解析sql语句,分析出select子句中每个字段的来源列表,记为cl1,格式为[字段名:源字段名1/源字段名2/...];

20、根据s2中用户定义的数据访问规则,将规则和cl1中的源字段名进行匹配,如果有访问权限,则不做处理,如果没有访问权限,则将查询select子句中对应的字段名的值设置为空值;

21、s34.对于update子句,分析set子句中被修改的字段名列表,记为ul1,根据s2中用户定义的数据字段修改规则,将规则和ul1中的字段名进行匹配,如果有修改权限,则不做处理,如果没有修改权限,则将此设置项去除;

22、s35.对于insert into子句和delete from子句,分析出这些子句后的表名,根据s2中用户定义的数据删除规则和数据增加规则,如果规则中允许对数据进行删除或增加,则不对sql进行修改,如果规则中不允许对数据进行删除或增加,则直接对sql做出错处理。

23、进一步地,所述s4具体包括:低代码平台自动执行动态修改后的sql,低代码平台将执行根据数据权限规则修改后的sql语句,进行有权限规则约束的数据操作。

24、本专利技术还提供一种基于非侵入式的低代码数据权限管控装置,包括一个或多个处理器,用于实现如上所述的基于非侵入式低代码数据权限管控方法。

25、本专利技术还提供一种可读存储介质,其上存储有程序,该程序被处理器执行时,实现如上所述的基于非侵入式低代码数据权限管控方法。

26、与现有技术相比,本专利技术的有益效果是:本专利技术允许用户编写业务查询sql,然后根据事先定义的数据权限配置动态修改sql,以确保数据安全和合规性,保证数据权限管理的灵活性和非侵入性。

本文档来自技高网...

【技术保护点】

1.一种基于非侵入式低代码数据权限管控方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于非侵入式低代码数据权限管控方法,其特征在于,所述S1中用户编写业务查询SQL的过程包括:

3.根据权利要求1所述的一种基于非侵入式低代码数据权限管控方法,其特征在于,所述S2中用户进行权限配置的过程包括:

4.根据权利要求3所述的一种基于非侵入式低代码数据权限管控方法,其特征在于,所述S3中低代码平台捕获并动态修改SQL的过程包括:

5.根据权利要求1所述的一种基于非侵入式低代码数据权限管控方法,其特征在于,所述S4具体包括:低代码平台自动执行动态修改后的SQL,低代码平台将执行根据数据权限规则修改后的SQL语句,进行有权限规则约束的数据操作。

6.一种基于非侵入式的低代码数据权限管控装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-5中任一项所述的基于非侵入式低代码数据权限管控方法。

7.一种可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-5中任一项所述的基于非侵入式低代码数据权限管控方法。

...

【技术特征摘要】

1.一种基于非侵入式低代码数据权限管控方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于非侵入式低代码数据权限管控方法,其特征在于,所述s1中用户编写业务查询sql的过程包括:

3.根据权利要求1所述的一种基于非侵入式低代码数据权限管控方法,其特征在于,所述s2中用户进行权限配置的过程包括:

4.根据权利要求3所述的一种基于非侵入式低代码数据权限管控方法,其特征在于,所述s3中低代码平台捕获并动态修改sql的过程包括:

5.根据权利要求1所述的...

【专利技术属性】
技术研发人员:蒋萌青刘学超夏莹杰庞嘉豪
申请(专利权)人:杭州远眺科技有限公司
类型:发明
国别省市:

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

1