Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 如何使用csrf令牌正确扩展我的表单?_Scala_Playframework_Csrf - Fatal编程技术网

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

Scala 如何使用csrf令牌正确扩展我的表单?,scala,playframework,csrf,Scala,Playframework,Csrf,我使用Play2!Scala 2.3.8。 我想为我的发件人添加一个默认csrfToken,但我知道如何添加。我试过这个例子 我创建了一个自定义全局对象,并使用以下内容扩展了表单: @helper.form(action = routes.Books.submitBook) { @helper.CSRF.formField 但我在发送表单后出现了以下错误: could not find implicit value for parameter token: play.filters.csrf

我使用Play2!Scala 2.3.8。 我想为我的发件人添加一个默认csrfToken,但我知道如何添加。我试过这个例子

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

@helper.form(action = routes.Books.submitBook) {
@helper.CSRF.formField
但我在发送表单后出现了以下错误:

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

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

文档说明了:

form helper方法都需要隐式标记或请求才能在作用域中可用。这通常是通过向模板中添加隐式RequestHeader参数来实现的,如果模板中还没有参数的话

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

@(<your parameters>)(implicit request: RequestHeader)
@()(隐式请求:RequestHeader)
(隐式令牌:play.filters.csrf.csrf.token)
也可以工作,但很可能
请求:RequestHeader
是更好的方法。