有没有办法在 playframework 2.6 中防止 csrf 弹出表单

Is there a way to prevent csrf popup form in playframework 2.6

我使用 playFramework 2.6。我有一个包含表单的弹出窗口。当我尝试提交表单时,出现以下错误:

Erreur Client!403 - No CSRF token found in body.

我该如何解决这个错误?

application.conf 中启用 CSRF 文件夹:

play.filters.enabled += "play.filters.csrf.CSRFFilter"

然后在你的表格中有这个:

<form action="/submit-form-url" method="POST">
  @CSRF.formField
  //Your form body  
</form>  

如果您不想使用助手 (@CSRF.formField)

首先导入需要的库:import play.filters.csrf.CSRF.

其次,在控制器方法中获取其值:CSRF.getToken 并将其传递给视图。

第三,在视图中(在表单初始行之后)使用隐藏输入来保存令牌值:

<input type="hidden" name="csrfToken" value="whatever-that-is">