如何正确地使用csrf令牌扩展我的表单?

时间:2015-05-01 18:59:36

标签: scala playframework csrf

我使用Play2! Scala 2.3.8。 我想为我添加一个默认的csrfToken,但我知道如何。我试过这个例子 https://www.playframework.com/documentation/2.3.8/ScalaCsrf

我创建了一个自定义全局对象,并使用以下内容扩展了我的表单:

@helper.form(action = routes.Books.submitBook) {
@helper.CSRF.formField

但是在发送表单后我收到了这个错误:

could not find implicit value for parameter token: play.filters.csrf.CSRF.Token

我知道CSRF.formField需要一个参数,但示例中不包含。

1 个答案:

答案 0 :(得分:3)

文档说明了following

  

表单助手方法都需要隐式标记或请求在范围内可用。这通常是通过向模板添加隐式RequestHeader参数来提供的,如果它还没有。{/ p>

为此,您必须将模板的参数列表更改为:

@(<your parameters>)(implicit request: RequestHeader)