[发明专利]数据权限拦截方法在审
申请号: | 202110978219.9 | 申请日: | 2021-08-25 |
公开(公告)号: | CN113434534A | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 范玉才 | 申请(专利权)人: | 中博信息技术研究院有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F21/31 |
代理公司: | 常州佰业腾飞专利代理事务所(普通合伙) 32231 | 代理人: | 陈红桥 |
地址: | 210000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 权限 拦截 方法 | ||
本发明涉及数据安全技术领域,提供一种数据权限拦截方法,包括以下步骤:定义第一方法和第二方法,其中,所述第一方法用以实现业务需求,所述第二方法为数据权限的断言方法;定义注解,其中,所述注解包含指定断言方法名称的属性;在所述第一方法上添加所述注解,并指定断言方法名称为所述第二方法;定义拦截组件,其中,所述拦截组件拦截对有所述注解的方法的调用;在所述拦截组件拦截到对所述第一方法的调用后,调用所述注解中指定的所述第二方法;如果成功执行所述第二方法,则执行所述第一方法;如果未成功执行所述第二方法,则中断对所述第一方法的调用。本发明能够大大提高含数据权限拦截功能的项目的开发的方便性。
技术领域
本发明涉及数据安全技术领域,具体涉及一种数据权限拦截方法。
背景技术
信息化时代的大背景下,软件项目越来越庞大,除了需要满足业务需求的功能性需求外,还需要考虑到数据访问权限的不同,限制不同的用户只能操作权限范围内数据的安全性需求。常规的开发模式下,为了满足数据权限访问控制的要求,开发人员在编码时,需要在业务功能SQL(Structured Query Language,结构化查询语言)语句中硬编码数据过滤的SQL条件。随着切面编程的兴起,另一种基于注解的形式,将数据过滤条件动态的注入到ORM(Object Relational Mapping,对象关系映射)框架中,并与业务功能SQL语句片段进行拼接,形成完整的带数据过滤条件的SQL。
不管是通过硬编码还是通过动态拼接的方式,目的都是组合成一个完整的带数据过滤条件的SQL去执行,因此就存在以下缺陷:(1)组合在一起就必须要保证语法的正确性,数据过滤条件SQL只是Where语句之后的条件部分,受限于业务功能SQL中使用的表名或字段名;(2)当数据权限策略变更时,除了修改数据过滤条件SQL外,还需要在业务功能SQL的from部分来引入业务功能本不需要的表,从而污染和破坏了业务功能SQL的可读性;(3)由于业务功能SQL和数据过滤条件的SQL紧耦合,破坏了高内聚低耦合的原则,同时,混杂在一起的逻辑条件,导致对开发人员的要求变高,编码复杂且繁琐。
发明内容
本发明为解决上述技术问题,提供了一种数据权限拦截方法,能够实现业务功能SQL与数据权限SQL的解耦,在编写时两个SQL段可独立编写,无需了解彼此具体写法,并且也不限制各自SQL中表名或字段名,同时,实现了数据权限的可配置,在数据权限策略变化时无需修改业务功能代码,仅需修改配置或修改数据权限代码,从而大大提高含数据权限拦截功能的项目的开发的方便性。
本发明采用的技术方案如下:
一种数据权限拦截方法,包括以下步骤:定义第一方法和第二方法,其中,所述第一方法用以实现业务需求,所述第二方法为数据权限的断言方法;定义注解,其中,所述注解包含指定断言方法名称的属性;在所述第一方法上添加所述注解,并指定断言方法名称为所述第二方法;定义拦截组件,其中,所述拦截组件拦截对有所述注解的方法的调用;在所述拦截组件拦截到对所述第一方法的调用后,调用所述注解中指定的所述第二方法;如果成功执行所述第二方法,则执行所述第一方法;如果未成功执行所述第二方法,则中断对所述第一方法的调用。
其中,所述第一方法为新增类、修改类、删除类的方法。
其中,所述第一方法的参数为要操作的数据条件,所述第一方法调用实现业务功能的SQL段。
其中,所述第二方法的参数为对象数组,所述第二方法调用实现数据权限查询的SQL段。
其中,在调用所述注解中指定的所述第二方法时,将调用所述第一方法的参数转换为对象数组传入所述第二方法。
其中,所述拦截组件为切面拦截组件。
本发明的有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中博信息技术研究院有限公司,未经中博信息技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110978219.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于石脑油加工的纯化分馏装置
- 下一篇:一种ECU异常识别方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置