Spring security spring security 3.2.0 csrf令牌在freemarker模板中不工作

Spring security spring security 3.2.0 csrf令牌在freemarker模板中不工作,spring-security,csrf,freemarker,Spring Security,Csrf,Freemarker,升级到SpringSecurity3.2.0并配置xml后,_csrf令牌不起作用 基本原理: Spring 4.0.1 Spring Security 3.2.0 Freemarker模板语言 步骤1-spring安全xml配置: 步骤2-freemarker模板: 步骤3-渲染输出: 步骤4-freemarker模板错误: FreeMarker模板错误: 以下内容的计算结果为null或缺失: ==>\u csrf[在第28行第21列的模板“cart.ftl”中] 参考:

升级到SpringSecurity3.2.0并配置xml后,_csrf令牌不起作用

基本原理:

  • Spring 4.0.1
  • Spring Security 3.2.0
  • Freemarker模板语言
步骤1-spring安全xml配置:


步骤2-freemarker模板:


步骤3-渲染输出:


步骤4-freemarker模板错误:

FreeMarker模板错误:
以下内容的计算结果为null或缺失:
==>\u csrf[在第28行第21列的模板“cart.ftl”中]
参考:

目前我正在调试整个应用程序


我不知道问题到底出在哪里,但csrf似乎没有与freemarker合作。这通常可以在freemarker模板中包含csrf令牌吗?您有什么建议或解决方案吗?

更新:

未正确进行xml配置。 我找到了这个解决方案,这对我很有帮助。

现在,我的文件如下所示:

security.xml


web.xml


csrfFilter
org.springframework.web.filter.DelegatingFilterProxy
真的
csrfFilter
/*

Spring Security的CSRF应该可以与Freemarker配合使用,只要将CSRF令牌添加到模型中(这应该在默认情况下完成,因为它被设置为HttpServletRequest属性)。您是否将Freemarker与Spring MVC(即FreeMarkerViewSolver)结合使用?您是否将任何块配置为禁用安全性(即安全性=无)?如果是这样的话,这意味着这些请求上没有填充CSRF令牌,您应该使用permitAll.Im和Spring MVC一起使用Freemarker,并且已经将访问属性配置为permitAll。但是CSRF令牌没有在这些请求上填充。它正在工作-有问题的更新…非常好…很高兴你能工作:)@m3tr4s你能将更新移动到答案部分吗。