shardingsphere脱敏配置在项目中不起作用(对项目中的表字段不加密),急急急~

@luhong 哈喽,从配置上看,应该没啥问题,需要看下集成有没有问题,集成成功配置 sql.show,应该是会打日志的,输出逻辑 sql 和真实 sql。你可以本地 debug 下,看下是否有使用 SS 相关的 Connection 和 Statement。

现在是没有输出逻辑sql和真实sql 没有输出的原因是什么呀

看起来初始化是成功了,但是还要确保 Hibernate 使用了 SS 的 DataSource,你可以自己 debug 下,EncryptDataSource EncryptPreparedStatement,看下这些流程有没有进来。

对EncryptPreparedStatement加了断点 insert的时候没有起作用 这个什么原因呀

那应该是没整合对,可以提供个 demo 看下

demo都需要什么的 我整理下哈

就是和你实际项目类似的配置,能通过 demo 复现问题就行

我这个是嵌套在项目中的 做不出demo :sob: 有其他办法吗

那只能靠你 debug 调查下了,应该还是集成的问题

能远程看下吗 集成的问题我这边问题不知道出在哪里

你先研究下吧,远程得等有空才行,事情比较多

您好 请问配置完之后需要在代码中对数据源进行修改吗 现在的问题是EncryptPreparedStatement这个类都不能打断点呀

请问 这个方法是在哪里添加呢
@Bean(“tradePlatformDataSource”)
public DataSource dataSource(@Qualifier(“druidDataSource”) DataSource ds) throws SQLException {
return EncryptDataSourceFactory.createDataSource(ds, (), new Properties());
}

把原先 JDBC 数据源,换成 SS 的数据源试下。

EncryptDataSource类的这个方法没有执行 public DataSource getDataSource() {
return getDataSourceMap().values().iterator().next();
}

请问怎么换数据源呀

@luhong 数据脱敏 :: ShardingSphere 参考下 4.x 的文档。

配置文件中的shardingsphere的数据源和原先项目的数据源是配置的同一个 这样子的话还需要在代码中换数据源吗


luhong

13 分钟

EncryptDataSource类的这个方法没有执行 public DataSource getDataSource() {
return getDataSourceMap().values().iterator().next();
}

这个方法没执行是什么问题呀

我怎么确认Hibernate 使用了 SS 的 DataSource?

您好 请问有可以修改脱敏规则配置的类或者接口吗 想动态修改这个配置文件 可以动态添加要加密的表

可以使用 DistSQL 动态修改配置,DistSQL :: ShardingSphere

兄弟,请问下这个问题解决了吗,怎么解决的,我也遇到了一样的问题

京ICP备2021015875号