将Spring Security升级到3.2.0.RELEASE不再在Spring taglib中提供CSRF令牌

Anu*_*eph 5 csrf taglib spring-security

我的项目使用的是Spring Security 3.2.0.RC2,我的JSP使用Spring taglib的form:form标签自动将CSRF令牌插入到我的表单中.

升级到Spring Security 3.2.0.RELEASE之后,我发现form:form标签不再自动将CSRF令牌插入到我的表单中,而且我现在必须通过将其放在我的表单中手动添加它:<input type ="hidden"name ="$ {_ csrf.parameterName}"value ="$ {_ csrf.token}"/>

还有其他人遇到过同样的问题吗?如果是这样,你为解决方法做了什么?谢谢.

Rob*_*nch 6

您需要确保使用@EnableWebMvcSecurity注释而不是@EnableWebSecurity注释,如Hello Spring MVC Security Java Config中所述.添加新注释的原因是为了解决SEC-2436.您会注意到,在参考文献的CSRF部分中添加了SEC-2463以更好地记录这一点.