379.6. 设置 Xstream DataFormat 的类型权限
在 Camel 中,始终使用路由中的自己的处理步骤来过滤和阻止某些 XML 文档路由到 XStream 的 unmarhall 步骤。从 Camel 2.16.1、2.15.5,您可以设置 XStream 的类型权限,以自动允许或拒绝某些类型的实例化。
Camel 使用的默认类型权限设置拒绝所有类型,但 java.lang 和 java.util 软件包中除外。此设置可以通过设置系统属性 org.apache.camel.xstream.permissions 来更改。其值是一个以逗号分隔的权限术语字符串,每个术语代表允许或拒绝的类型,具体取决于术语是前缀为 '' (请注意 '' 可能会被省略)还是分别带有 '-'。
每个术语都可以包含一个通配符字符 ''。例如,值 "-,java.lang.,java.util." 表示拒绝除 java.lang unset 和 java.util targeted 类以外的所有类型。将此值设置为空字符串 "",会恢复到默认的 XStream 类型权限处理,该处理拒绝某些黑名单类并允许其他用户。
通过设置 type permissions 属性,可以在单独的 XStream DataFormat 实例上扩展 type 权限设置。
<dataFormats> <xstream id="xstream-default" permissions="org.apache.camel.samples.xstream.*"/> ...