From a4ad917195928c92307ff74ec095769fcf75e8ac Mon Sep 17 00:00:00 2001 From: Viliam Repan Date: Thu, 30 Nov 2017 13:21:07 +0100 Subject: [PATCH] fixed multiparts posts with file uploads (csrf problem in some cases) --- .../evolveum/midpoint/web/boot/MidPointSpringApplication.java | 3 ++- .../web/page/admin/configuration/PageImportObject.java | 4 +++- .../midpoint/web/page/admin/reports/PageNewReport.java | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/boot/MidPointSpringApplication.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/boot/MidPointSpringApplication.java index c92403b6615..008ee1aa369 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/boot/MidPointSpringApplication.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/boot/MidPointSpringApplication.java @@ -82,7 +82,8 @@ PropertyPlaceholderAutoConfiguration.class, SecurityAutoConfiguration.class, SecurityFilterAutoConfiguration.class, - ServerPropertiesAutoConfiguration.class + ServerPropertiesAutoConfiguration.class, + MultipartAutoConfiguration.class }) @SpringBootConfiguration public class MidPointSpringApplication extends SpringBootServletInitializer { diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageImportObject.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageImportObject.java index efeed08da73..97d447c80ad 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageImportObject.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageImportObject.java @@ -117,6 +117,7 @@ protected ImportOptionsType load() { private void initLayout() { Form mainForm = new com.evolveum.midpoint.web.component.form.Form(ID_MAIN_FORM); + mainForm.setMultiPart(true); add(mainForm); ImportOptionsPanel importOptions = new ImportOptionsPanel(ID_IMPORT_OPTIONS, optionsModel, fullProcessingModel); @@ -308,7 +309,8 @@ private InputDescription getInputDescription(boolean editor) throws Exception { // Save file newFile.createNewFile(); - uploadedFile.writeTo(newFile); + + FileUtils.copyInputStreamToFile(uploadedFile.getInputStream(), newFile); String language = getPrismContext().detectLanguage(newFile); return new InputDescription(new FileInputStream(newFile), language); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageNewReport.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageNewReport.java index c911a30135d..0607070a55c 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageNewReport.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/PageNewReport.java @@ -224,7 +224,7 @@ private void importReportFromFilePerformed(AjaxRequestTarget target) { // Save file // Task task = createSimpleTask(OPERATION_IMPORT_FILE); newFile.createNewFile(); - uploadedFile.writeTo(newFile); + FileUtils.copyInputStreamToFile(uploadedFile.getInputStream(), newFile); InputStreamReader reader = new InputStreamReader(new FileInputStream(newFile), "utf-8"); // reader.