运行包含 Axon 4 的 Spring Boot 应用程序时,我在输出控制台中看到以下内容:
Security framework of XStream not initialized, XStream is probably vulnerable.
如何保护 Axon 4 中包含的 XStream?
为了澄清起见,我说的是如何配置 Axon 4 使用的 XStream。我不确定这是否应该在 YAML 文件或配置类之一中完成。每个地方我都尝试过this answer中详述的信息不会影响 XStream 配置,我仍然收到相同的警告。
更新:
根据下面的答案,这个问题似乎有两个方面。多亏了下面的答案,我设法按以下方式进行了操作(基于 this answer 上发布的信息):
//AxonConfig.java
@Bean
XStream xstream(){
XStream xstream = new XStream();
// clear out existing permissions and set own ones
xstream.addPermission(NoTypePermission.NONE);
// allow any type from the same package
xstream.allowTypesByWildcard(new String[] {
"com.ourpackages.**",
"org.axonframework.**",
"java.**",
"com.thoughtworks.xstream.**"
});
return xstream;
}
@Bean
@Primary
public Serializer serializer(XStream xStream) {
return XStreamSerializer.builder().xStream(xStream).build();
}
我不想回答我自己的问题,因为我认为 Jan 得到了正确的答案,并且 Steven 指向了 Spring Boot 配置。
我确信我需要削减包范围,并将在适当的时候这样做。感谢 Jan 和 Steven 的帮助。
最佳答案
这不是 Axon 特定的,请查看此问题的背景和解决方案:Security framework of XStream not initialized, XStream is probably vulnerable
关于spring-boot - Axon 4 XStream 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55298592/