【发布时间】:2013-09-01 16:51:09
【问题描述】:
我的服务受令牌保护,如下例所示:https://stackoverflow.com/a/10864088/278279
问题是当我添加文件上传时,过滤器在请求中找不到令牌(我认为原因是请求具有多部分类型)
我正在使用 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 中没有发送更多,所以它抛出了请求中没有参数的异常。我该如何解决这个问题才能接收带有令牌身份验证的文件?
【问题讨论】:
标签: java spring spring-mvc spring-security