「讨论」重写之前需要从 NeedRewriteForEncrypt 中排除一些 SQL 吗?

搬运君又来搬运优质 Discussions 啦,提问者来源于 GitHub cheese8

cheese8:

目前的情况是:

  1. SS 的 Parser 和 Encrypt 模块有一些 SQL 语句没有得到很好的支持,例如 join、subQuery、insert select 等。
  2. 贵公司的系统需要满足合规性要求(确保敏感数据全部加密存储),但不是所有的SQL都是简单的CRUD,当然sql简化正在进行中。

现在有几张表都涉及到敏感数据,INSERT/UPDATE 和DELETE 说的不错,但是有些SELECT 满足加密重写条件,即使没有加密重写,目前的业务结果也对,但是SELECT 是计划到下一个发布窗口。

实际上,目前加密重写可能会出现异常,您可以考虑在重写之前将这些SQL从NeedRewriteForEncrypt中排除,我认为解决方案之一应该如下:

  1. 定义 EncryptRewriteManual 等注解,将 mybatis/jpa 接口中的方法标记为手动。
  2. 在 isNeedRewriteForEncrypt 方法中检查是手动还是自动,如果是手动,则从重写中排除。


为了中文开发者更好的查阅,讨论已经翻译成中文

详情链接点击 这里

京ICP备2021015875号