Spring Security 4 默认启用 CSRF 保护 RequestDataValueProcessor 报错

尝试将项目升级至Struts2+Hibernate4+Spring4+Spring Security4环境时,出现以下异常:

java.lang.NoClassDefFoundError: org/springframework/web/servlet/support/RequestDataValueProcessor

java.lang.ClassNotFoundException: org.springframework.web.servlet.support.RequestDataValueProcessor

 

经排查,刚异常缺失的类是spring-webmvc的一个接口,但由于项目并没有使用SpringMVC,又不想引入SpringMVC相关的jar包,故而翻查Spring Security官方文档,于是发现以下片段:


Spring Security 4 默认启用 CSRF 保护 RequestDataValueProcessor 报错_第1张图片

 

发现Spring Security 4默认启用了CSRF保护功能,该功能在Spring Security 3时就已经存在,默认是不启用。由于项目并没有用到CSRF功能,按照官方文档,在XML文件中加入<csrf disabled="true" />标签,将CSRF保护功能禁用,问题就解决了!

 

Spring Security 4 默认启用 CSRF 保护 RequestDataValueProcessor 报错_第2张图片
 

你可能感兴趣的:(spring,Security,升级,CSRF,4)