3.7. BatchExecutionHelperProviderImpl.newXStreamMarshaller() メソッドでのセキュアな XStream インスタンスの作成
BatchExecutionHelperProviderImpl.newXStreamMarshaller() メソッドで、セキュアな XStream インスタンスを作成できるようになりました。XStream インスタンスはデフォルトで、ペイロードに事前定義された KIE クラスのみを受け入れます。メソッドで作成した XStream インスタンスを使用する場合は、許可されたクラスを追加する必要があります。たとえば、アプリケーションコードにドメインモデルクラスを追加します。追加しない場合には、ForbiddenClassException 例外を受信します。
許可されたクラスを追加するコード例
final BatchExecutionHelperProviderImpl batchExecutionHelperProvider = new BatchExecutionHelperProviderImpl();
XStream xstream = batchExecutionHelperProvider.newXStreamMarshaller();
String[] allowList = new String[]{
"org.example.model.Person",
"org.example.model.Company"
};
xstream.addPermission( new WildcardTypePermission( allowList ) );