轴突 4 XStream 配置
Axon 4 XStream configuration
当 运行 我的 Spring 包含 Axon 4 的启动应用程序时,我在输出控制台中看到以下内容:
Security framework of XStream not initialized, XStream is probably vulnerable.
如何保护 Axon 4 中包含的 XStream?
为了澄清,我说的是如何配置 Axon 4 使用的 XStream。我不确定这是否应该在 YAML 文件或配置 类 之一中完成。我尝试过 中详细信息的每个地方都不会影响 XStream 配置,我仍然会收到相同的警告。
更新:
根据以下答案,这个问题似乎有两个方面。多亏了下面的答案,我设法使它按如下方式工作(基于 上发布的信息):
//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 启动配置。
我确定我需要缩减包范围,并会在适当的时候这样做。感谢 Jan 和 Steven 的帮助。
这不是 Axon 特有的,检查这个问题的背景和解决方案:
Jan Galinski 是正确的,因为这不是 Axon 特有的问题。更重要的是 XStream
包内的转变。无论如何,link Jan 的股票非常有价值。
从那里,您可以创建自己的 XStream
对象,而不是使用 XStreamSerializer
在使用 Axon 时为您创建的对象。然后,您可以将该对象提供给 XStreamSerializer
的 builder()
。
因为您也在使用 Spring Boot,只需像这样创建一个 bean 函数就足够了:
// The XStream should be configured in such a way that a security solution is provided
@Bean
public Serializer serializer(XStream xStream) {
return XStreamSerializer.builder().xStream(xStream).build();
}
希望对您有所帮助!
当 运行 我的 Spring 包含 Axon 4 的启动应用程序时,我在输出控制台中看到以下内容:
Security framework of XStream not initialized, XStream is probably vulnerable.
如何保护 Axon 4 中包含的 XStream?
为了澄清,我说的是如何配置 Axon 4 使用的 XStream。我不确定这是否应该在 YAML 文件或配置 类 之一中完成。我尝试过
更新:
根据以下答案,这个问题似乎有两个方面。多亏了下面的答案,我设法使它按如下方式工作(基于
//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 启动配置。
我确定我需要缩减包范围,并会在适当的时候这样做。感谢 Jan 和 Steven 的帮助。
这不是 Axon 特有的,检查这个问题的背景和解决方案:
Jan Galinski 是正确的,因为这不是 Axon 特有的问题。更重要的是 XStream
包内的转变。无论如何,link Jan 的股票非常有价值。
从那里,您可以创建自己的 XStream
对象,而不是使用 XStreamSerializer
在使用 Axon 时为您创建的对象。然后,您可以将该对象提供给 XStreamSerializer
的 builder()
。
因为您也在使用 Spring Boot,只需像这样创建一个 bean 函数就足够了:
// The XStream should be configured in such a way that a security solution is provided
@Bean
public Serializer serializer(XStream xStream) {
return XStreamSerializer.builder().xStream(xStream).build();
}
希望对您有所帮助!