- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 JTwig 将 CSRF token 放入表单中?
我试过this扩展,但它不起作用(显示有关 {% csrf %} 没有结束 block 的错误)。我还尝试将 HttpServletRequest 对象放入模型中,然后使用 this 获取 token 片段,但根本没有任何效果。
即使没有模板引擎,是否有一些通用的方法来实现 csrf-token?
最佳答案
以下代码对我有用:
我创建了一个名为 ControllerSetup 的类(或者您可以将其命名为任何您想要的名称),并将其放置在与我的 Application 类相同的文件夹中(带有 public static void main ()
方法)。代码如下:
package some.pkg.of.myapp;
import javax.servlet.http.HttpServletRequest;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;
@ControllerAdvice
public class ControllerSetup {
@ModelAttribute
public void initModel(HttpServletRequest request, Model model) {
model.addAttribute("_csrf", request.getAttribute("_csrf"));
}
}
现在,我的任何 Controller 中的任何模型都会自动具有一个名为 _csrf 的属性。我将在我的 JTwig 表单中使用它,如下所示:
<form method="post" action="/some/action/url">
<!-- My fields and buttons here -->
<input type="hidden"
name="{{ _csrf.parameterName }}" value="{{ _csrf.token }}" />
</form>
关于java - Spring Security 4 JTwig 将 CSRF token 放入表单中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41950929/
是否可以从 JTwig 模板调用自定义函数(比如静态方法)? 例如,在 Thymeleaf 框架中,我可以通过其类的全名调用任何静态方法。所以我正在为 JTwig 寻找类似的东西。 最佳答案 这没有很
最近开始使用Jtwig,不知道如何轻松获取session、servletrequest、远程用户等。例如,在 Thymeleaf 中,可以这样做: ... 文档和谷歌都无法回答我的问题。也许,这还
我希望能够使用 JTwig 模板执行与以下循环等效的操作: for (int i = 0; i {{k}} {% endfor %} 或者 {% set k = 10 %} {% for i in r
我最近搜索了很多关于这个主题的内容,但我不知道如何做到这一点:我只想以一种方式配置 jtwig,当它遇到未知的函数或变量时,它会简单地忽略它。 例如,如果 jtwig 解析此: {{ varA }}
如何使用 JTwig 将 CSRF token 放入表单中? 我试过this扩展,但它不起作用(显示有关 {% csrf %} 没有结束 block 的错误)。我还尝试将 HttpServletReq
我是一名优秀的程序员,十分优秀!