我无法在playframework 2.3.0中导入过滤器

use*_*909 9 scala servlet-filters playframework playframework-2.3

我使用playframework 2.3.0,最近我想添加CSRFFilter

当我在global.scala中导入csrf时:

import play.filters.csrf._
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

[错误] G:\ testprojects\app\Global.scala:7:对象过滤器不是包播放的成员[error] import play.filters.csrf._

我的plugin.sbt是

...
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.0")
...
Run Code Online (Sandbox Code Playgroud)

我使用Build.scala而不是build.sbt

lazy val root  = Project("root", base = file(".")).enablePlugins(PlayScala)
.settings(baseSettings: _*)
.settings(libraryDependencies++=appDependencies)
.settings(
  scalaVersion := "2.11.1",
  version := "1.0"

)
Run Code Online (Sandbox Code Playgroud)

Chr*_*ian 9

根据文档,您必须将过滤依赖项添加到项目中:

libraryDependencies += filters
Run Code Online (Sandbox Code Playgroud)

该文档适用于build.sbt,但我想它也适用于Build.scala.

  • 请注意,您需要`import play.Play.autoImport._`才能访问`filters`(Play 2.4.x) - 花了好几分钟试图弄清楚为什么过滤器无法在我的Build.scala中解析 (3认同)
  • 实际上它现在是`import play.sbt.Play.autoImport._`,`play.Play`已被弃用 (2认同)