spring升级后配置mediaTypes和defaultContentType的注意细节
背景:
因为spring官方发布了spring framework的更新,此次更新修复了一个RFD(反射型文件下载)安全漏洞,,漏洞编号为CVE-2020-5421。该漏洞可以通过一个jsessionId路径参数绕过 RFD(反射型文件下载) 保护。
项目原本使用:spring-3.2.4.RELEASE
需要升级版本至:spring-4.3.29.RELEASE
问题:
升级完spring会发现在配置文件里面, ContentNegotiatingViewResolver这个视图解析器的配置无法解析mediaTypes和defaultContentType,附图:
原因:spring 4版本中的springmvc配置,会报mediaTypes和defaultContentType为非法配置,现在可以在原来的 ContentNegotiatingViewResolver 中加入 contentNegotiationManager,然后在contentNegotiationManager配置defaultContentType,如下:
这样子来配置,就可以解决了!
附(版本差异):
spring3:
org.springframework.web.servlet.view.json.MappingJacksonJsonView
org.springframework.http.converter.json.MappingJacksonHttpMessageConverter
spring4:
org.springframework.web.servlet.view.json.MappingJackson2JsonView
org.springframework.http.converter.json.MappingJackson2HttpMessageConverter