У меня есть услуги that're обеспечены лексемы, как в следующем примере: https://stackoverflow.com/a/10864088/278279Spring secutity и Multipart
Проблема заключается в том, когда я добавил загрузки файла, фильтр не может найти лексему запроса (я думаю, что причина в том, что просьба иметь многочастному типа)
Я использую CommonsMultipartResolver
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="100000000"/>
</bean>
и простой контроллер пружинного получить файл @RequestParam("pic") MultipartFile pic
Для решения проблемы я модифицированная, маркер извлечения, если запрос имеет многослойный тип:
if(request.getContentType().contains("multipart/form-data")){
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest((HttpServletRequest) request);
for (FileItem item : items) {
if (item.isFormField() && item.getFieldName().equals("token")) {
return item.getString();
}
}
}
Наконец после того, как аутентификация модификации работает, но контроллер не MultipartFile посылая больше, поэтому он бросает исключение, не параметра в запросе. Как я могу решить эту проблему, чтобы иметь возможность получать файлы с аутентификацией токена?
Вы можете прочитать о [CSRF и многоэлементных запросов] (http://docs.spring.io/spring-security/site/docs/ 3.2.x/ссылка/htmlsingle/# CSRF-multipartfilter). Обратите внимание, что я обнаружил, что нам пришлось добавить MultipartFilter ** после ** фильтра Spring Security, а не раньше в соответствии с документацией. – Bernie