一种基于ORM框架的数据权限隔离方法技术

技术编号:35182830 阅读:17 留言:0更新日期:2022-10-12 17:52
本发明专利技术公开一种基于ORM框架的数据权限隔离方法,涉及数据安全技术领域;基于java的数据库持久层框架,配置用户的数据权限,通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。完成数据权限控制。完成数据权限控制。

【技术实现步骤摘要】
一种基于ORM框架的数据权限隔离方法


[0001]本专利技术公开一种方法,涉及数据安全
,具体地说是一种基于ORM框架的数据权限隔离方法。

技术介绍

[0002]在业务平台建设中,通常需要考虑各项权限的管控和隔离,例如页面权限、接口权限、数据权限等,在通用的RBAC权限模型中,对于页面权限和接口权限具有通用较好的支持,但是对于数据权限,例如对于某种数据,只有数据拥有者才能查看,或者与数据拥有者同部门的人员才能查看等场景,此场景实现过程通常使用硬编码方式,但修改硬编码较为复杂,且不够友好,又涉及重新编码、测试、发布等整个流程,费事费力。

技术实现思路

[0003]本专利技术针对现有技术的问题,提供一种基于ORM框架的数据权限隔离方法,具有通用性强、实施简便等特点,具有广阔的应用前景。
[0004]本专利技术提出的具体方案是:
[0005]本专利技术提供一种基于ORM框架的数据权限隔离方法,基于java的数据库持久层框架,配置用户的数据权限,通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,
[0006]通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。
[0007]进一步,所述的一种基于ORM框架的数据权限隔离方法中基于Mybatis,配置用户的数据权限,通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,
[0008]通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。
[0009]进一步,所述的一种基于ORM框架的数据权限隔离方法中根据用户的数据查询请求,通过Mybatis组装并输出数据库需要执行的SQL语句,通过自定义拦截器根据所述用户的数据查询请求获取用户的数据权限及数据主表的数据拥有方字段,修改所述的数据库需要执行的SQL语句。
[0010]进一步,所述的一种基于ORM框架的数据权限隔离方法中所述修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,包括:
[0011]增加WHERE条件筛选输出的SQL语句。
[0012]本专利技术还提供一种基于ORM框架的数据权限隔离系统,包括持久层模块和映射模块,
[0013]持久层模块基于java的数据库持久层框架,配置用户的数据权限,映射模块通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,
[0014]映射模块通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。
[0015]进一步,所述的一种基于ORM框架的数据权限隔离系统中持久层模块基于Mybatis,配置用户的数据权限,映射模块通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,
[0016]映射模块通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。
[0017]进一步,所述的一种基于ORM框架的数据权限隔离系统中持久层模块根据用户的数据查询请求,通过Mybatis组装并输出数据库需要执行的SQL语句,映射模块通过自定义拦截器根据所述用户的数据查询请求获取用户的数据权限及数据主表的数据拥有方字段,修改所述的数据库需要执行的SQL语句。
[0018]进一步,所述的一种基于ORM框架的数据权限隔离系统中所述映射模块修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,包括:
[0019]增加WHERE条件筛选输出的SQL语句。
[0020]本专利技术的有益之处是:
[0021]本专利技术提供一种基于ORM框架的数据权限隔离方法,基于ORM框架实现通用业务场景下的数据权限隔离,可实现不侵入业务代码和硬编码来对数据权限的管控,可通过配置的方式改变用户的数据权限,并通过拦截器实时生效,修改执行sql语句,提高了编码和实现业务的效率,降低了业务编码实现的成本。
附图说明
[0022]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是现有技术数据权限隔离流程示意图。
[0024]图2是本专利技术数据权限隔离流程示意图。
[0025]图3是本专利技术方法应用示意图。
具体实施方式
[0026]下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好地理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定。
[0027]本专利技术提供一种基于ORM框架的数据权限隔离方法,基于java的数据库持久层框架,配置用户的数据权限,通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,
[0028]通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。
WHERE createUser=A;”,并进行执行返回结果。
[0042]经过上述流程,即可实现不侵入业务代码和硬编码来实现对数据权限的管控,且如果需要修改用户的数据权限,可通过配置的方式改变,本配置可在拦截器中实时生效。如果需要增加其他数据权限类型可按照上述方式扩展,原理相同。
[0043]上述以Mybatis为例实现了一个具体的数据权限管理模型,其余ORM框架实现原理相同。
[0044]本专利技术还提供一种基于ORM框架的数据权限隔离系统,包括持久层模块和映射模块,
[0045]持久层模块基于java的数据库持久层框架,配置用户的数据权限,映射模块通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,
[0046]映射模块通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。
[0047]上述系统内的各模块之间的信息交互、执行过程等内容,由于与本专利技术方法实施例基于同一构思,具体内容可参见本专利技术方法实施例中的叙述,此处不再赘述。
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于ORM框架的数据权限隔离方法,其特征是基于java的数据库持久层框架,配置用户的数据权限,通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。2.根据权利要求1所述的一种基于ORM框架的数据权限隔离方法,其特征是基于Mybatis,配置用户的数据权限,通过ORM框架在映射类中使用自定义注解标记数据拥有方字段,通过ORM框架自定义拦截器根据用户的数据查询请求,获取用户的数据权限及数据主表的数据拥有方字段,修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,执行修改后SQL语句,完成数据权限控制。3.根据权利要求2所述的一种基于ORM框架的数据权限隔离方法,其特征是根据用户的数据查询请求,通过Mybatis组装并输出数据库需要执行的SQL语句,通过自定义拦截器根据所述用户的数据查询请求获取用户的数据权限及数据主表的数据拥有方字段,修改所述的数据库需要执行的SQL语句。4.根据权利要求1

3任一项所述的一种基于ORM框架的数据权限隔离方法,其特征是所述修改所述用户的数据权限和数据拥有方字段对应的数据库需要执行的SQL语句,包括:增加WHERE条件筛选输出的SQL语句。5.一种基于ORM框架的数据权限隔离系统,其特征是包括持久...

【专利技术属性】
技术研发人员:王刚崔乐乐李仰允
申请(专利权)人:天元大数据信用管理有限公司
类型:发明
国别省市:

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

1