将 XStreamMarshaller 与 spring 批处理一起使用时,我收到以下消息:
Security framework of XStream not initialized, XStream is probably vulnerable.
第一次尝试:根据文档,我尝试重置所有权限,但仍然有相同的消息。此外,我在解析 XML 文件时没有安全错误……所以我认为这段代码是行不通的。这是一个代码示例:
XStreamMarshaller marshaller = new XStreamMarshaller();
marshaller.getXStream().addPermission(NoTypePermission.NONE);
第二次尝试:我也尝试过该setSupportedClasses
方法,但它也不起作用(我仍然收到漏洞消息并且不支持的类仍然被正确解组):
XStreamMarshaller marshaller = new XStreamMarshaller();
marshaller.setSupportedClasses(FooBar.class);
如何使用 XStreamMarshaller 设置安全权限?
注意:根据这个线程,安全框架是在 1.4.7 中引入的,它仍然不是强制性的....但是 XStream 1.5.0 将是强制性的!
使用的 XStream 版本:1.4.10
使用的 Spring Batch 版本:4.0.1
有关信息,我正在使用 Spring Boot(但我不确定它是否与此处相关)