2014-06-17 8 views
9

I playframework verwenden 2.3.0, die vor kurzem möchte ich die CSRFFilterIch kann nicht Filter in playframework importieren 2.3.0

hinzuzufügen, wenn ich in global.scala CSRF Import:

import play.filters.csrf._ 

ich eine bekommen Fehler hierfür:

[Fehler] G: \ testprojects \ app \ Global.scala: 7: Objektfilter ist kein Mitglied der Paket spielen [Fehler] import play.filters.csrf._

Mein plugin.sbt ist

... 
// The Play plugin 
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.0") 
... 

I Build.scala statt build.sbt

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

) 

Antwort

9

Nach dem documentation Sie den Filter verwenden Abhängigkeit zu Ihrem Projekt hinzufügen müssen:

libraryDependencies += filters 

Die Dokumentation ist für build.sbt, aber ich denke, es sollte auch mit Build.scala arbeiten.

+3

Beachten Sie, dass Sie 'play.Play.autoImport._' für den Zugriff auf' filters' importieren müssen (Play 2.4.x) - verbrachte einige Minuten damit herauszufinden, warum Filter in meinem Build nicht aufgelöst werden .scala – Brett

+2

Eigentlich ist es jetzt 'import play.sbt.Play.autoImport._',' play.Play' ist veraltet – poroszd

+0

@poroszd Ich bekomme den gleichen Fehler, wo mein Projekt nicht in der Lage ist, play.sbt oder play zu identifizieren .filter. Könnten Sie mir bitte helfen herauszufinden, was ich hier vermisse? der Fehler, den ich bekomme, kann nicht Symbol finden Symbol: Klasse CORSFilter Ort: Klasse Filter – user1242321

1

Wiedergabe Rahmen GzipFilter ist für mich arbeiten,

meine build.sbt Datei

name := "GZIP" 

version := "1.0-SNAPSHOT" 

libraryDependencies ++= Seq(
    javaJdbc, 
    javaEbean, 
    cache, 
    filters 
)  

play.Project.playJavaSettings 

steps to get play.filters package 
1. play 
2. update   //important 
3. clean 
4. eclipse 
5. compile 
6. run 

schließlich wird es funktionieren .... (Update-Befehl wichtig ist) wenn IDE erkennt nicht play.filters
die oben genannten Schritte ein weiteres Mal
schließlich kopieren und fügen Sie ihn Code

import play.GlobalSettings; 
import play.api.mvc.EssentialFilter; 
import play.filters.gzip.GzipFilter; 

public class Global extends GlobalSettings { 
    public <T extends EssentialFilter> Class<T>[] filters() { 
     return new Class[]{GzipFilter.class}; 
    } 
} 

+0

danke es funktioniert – MSH

1

Im Play 2.4.3 tun, der Import ist:

import play.filters.cors.CORSActionBuilder 

Es ist nicht mehr aufgerufen csrf, aber cors.