全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210818583.3 (22)申请日 2022.07.13 (71)申请人 浪潮软件科技有限公司 地址 250100 山东省济南市高新区浪潮路 1036号浪潮科技园 (72)发明人 王胜孟 张厚森 张健 刘翔  (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 姜丽洁 (51)Int.Cl. G06F 21/60(2013.01) G06F 16/25(2019.01) G06F 16/242(2019.01) (54)发明名称 一种数据隔离及多租户实现方法及系统 (57)摘要 本发明涉及web后端开发领域, 具体提供了 一种数据隔离及多租户实现方法, 首先判断是否 有数据隔离标志,如果没有放行,如果有,获取 mapper对应实体类; 再判断租户隔离是否启用, 若是, 则向sql添加租户, 再判断数据是否隔离; 否的话, 直接判断数据是否隔离; 若数据需要隔 离, 向sql添加数据过滤条件, 之后放行; 若数据 不需要隔离, 则直接放行。 与现有技术相比, 本发 明可以通过注解为无数据隔离及多租户的系统 中添加数据隔离及多租户功能, 避免大量改动持 久化层代码、 不侵入业务代码, 方便对现有业务 系统增量添加数据隔离功能。 权利要求书1页 说明书4页 附图2页 CN 115203722 A 2022.10.18 CN 115203722 A 1.一种数据隔离及多租户实现方法, 其特征在于, 首先判断是否有数据隔离标志,如果 没有放行,如果有,获取map per对应实体 类; 再判断租户隔离是否启用, 若是, 则向sql添加租户, 再判断数据是否隔离; 否的话, 直 接判断数据是否隔离; 若数据需要隔离, 向sql添加数据过滤条件, 之后放行; 若数据不需要隔离, 则直接放 行。 2.根据权利要求1所述的一种数据隔离及多租户实现方法, 其特征在于, mapper层添 加@EnableDataPerm注解, 实体类中使用@UserFilterColumn注解用户id属性, @ DeptFilterColumn注解部门id属性, @TenantFi lterColumn注解租户id属性; 在调用对应方法时, 程序会自动将数据隔离和租户隔离的对应规则, 拼接到相应的SQL 语句上。 3.根据权利要求2所述的一种数据隔离及多租户实现方法, 其特征在于, 所述@ EnableDataPerm注解含有 多个属性, 并且注解到类名上。 4.根据权利要求3所述的一种数据隔离及多租户实现方法, 其特 征在于, 所述@EnableDataPerm的多个属性包括: mustIncludeUserRule 是否必须包 含自己; excluseMethodName= 排除的方法名; entity=对应的主实体 类; tableNameOr Alias=主表别名。 5.一种数据隔离及多租户实现系统, 其特征在于, 首先判断是否有数据隔离标志,如果 没有放行,如果有,获取map per对应实体 类; 再判断租户隔离是否启用, 若是, 则向sql添加租户, 再判断数据是否隔离; 否的话, 直 接判断数据是否隔离; 若数据需要隔离, 向sql添加数据过滤条件, 之后放行; 若数据不需要隔离, 则直接放 行。 6.根据权利要求5所述的一种数据隔离及多租户实现系统, 其特征在于, mapper层添 加@EnableDataPerm注解, 实体类中使用@UserFilterColumn注解用户id属性, @ DeptFilterColumn注解部门id属性, @TenantFi lterColumn注解租户id属性; 在调用对应方法时, 程序会自动将数据隔离和租户隔离的对应规则, 拼接到相应的SQL 语句上。 7.根据权利要求6所述的一种数据隔离及多租户实现系统, 其特征在于, 所述@ EnableDataPerm注解含有 多个属性, 并且注解到类名上。 8.根据权利要求7所述的一种数据隔离及多租户实现系统, 其特征在于, 所述@ EnableDataPerm的多个属性包括: mustIncludeUserRule 是否必须包 含自己; excluseMethodName= 排除的方法名; entity=对应的主实体 类; tableNameOr Alias=主表别名。权 利 要 求 书 1/1 页 2 CN 115203722 A 2一种数据隔 离及多租户实现方 法及系统 技术领域 [0001]本发明涉及web后端开发领域, 具体提供一种数据隔离及多租户实现方法及系统。 背景技术 [0002]随着信息应用技术的不断发展, 信息安全问题逐渐成为信息系统中不可或缺的一 部分, 数据隔离作为一种信息手段可以广泛应用于各类web系统中, 数据隔离 常通过应用在 web系统的mapper层, 往往需要在系统设计的初试阶段就考虑到, 而对于已开发完成的web 系统, 添加数据隔离往 往需要进行重构, 那必然 要耗费大量的人工成本 。 发明内容 [0003]本发明是针对上述现有技术的不足, 提供一种实用性强的数据隔离及多租户实现 方法。 [0004]本发明进一步的技术任务是提供一种设计合理, 安全适用的一种数据隔离及多租 户实现系统。 [0005]本发明解决其 技术问题所采用的技 术方案是: [0006]一种数据隔离及多租户实现方法, 首先判断是否有数据隔离标志,如果没有放行, 如果有,获取map per对应实体 类; [0007]再判断租户隔离是否启用, 若是, 则向sql添加租户, 再判断数据是否隔离; 否的 话, 直接判断数据是否隔离; [0008]若数据需要隔离, 向sql添加数据过滤条件, 之后放行; 若数据不需要隔离, 则直接 放行。 [0009]进一步的 , mapper层添加@EnableDataPerm注解 , 实体类中使用@ UserFilterColumn注解用户id属性, @DeptFilterColumn注解部门id属性, @ TenantFi lterColumn注解租户id属性; [0010]在调用对应方法时, 程序会自动将数据隔离和租户隔离 的对应规则, 拼接到相应 的SQL语句上。 [0011]作为优选, 所述@EnableDataPerm注解含有 多个属性, 并且注解到类名上。 [0012]进一步的, [0013]所述@EnableDataPerm的多个属性包括: [0014]mustIncludeUserRule 是否必须包 含自己; [0015]excluseMethodName= 排除的方法名; [0016]entity=对应的主实体 类; [0017]tableNameOr Alias=主表别名。 [0018]一种数据隔离及多租户实现系统, 首先判断是否有数据隔离标志,如果没有放行, 如果有,获取map per对应实体 类; [0019]再判断租户隔离是否启用, 若是, 则向sql添加租户, 再判断数据是否隔离; 否的说 明 书 1/4 页 3 CN 115203722 A 3

PDF文档 专利 一种数据隔离及多租户实现方法及系统

文档预览
中文文档 8 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种数据隔离及多租户实现方法及系统 第 1 页 专利 一种数据隔离及多租户实现方法及系统 第 2 页 专利 一种数据隔离及多租户实现方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 01:02:07上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。