搬运君又来搬运优质 Discussions 啦,提问者来源于 GitHub cheese8
cheese8:
目前的情况是:
- SS 的 Parser 和 Encrypt 模块有一些 SQL 语句没有得到很好的支持,例如 join、subQuery、insert select 等。
- 贵公司的系统需要满足合规性要求(确保敏感数据全部加密存储),但不是所有的SQL都是简单的CRUD,当然sql简化正在进行中。
现在有几张表都涉及到敏感数据,INSERT/UPDATE 和DELETE 说的不错,但是有些SELECT 满足加密重写条件,即使没有加密重写,目前的业务结果也对,但是SELECT 是计划到下一个发布窗口。
实际上,目前加密重写可能会出现异常,您可以考虑在重写之前将这些SQL从NeedRewriteForEncrypt中排除,我认为解决方案之一应该如下:
- 定义 EncryptRewriteManual 等注解,将 mybatis/jpa 接口中的方法标记为手动。
- 在 isNeedRewriteForEncrypt 方法中检查是手动还是自动,如果是手动,则从重写中排除。
为了中文开发者更好的查阅,讨论已经翻译成中文
详情链接点击 这里