2014-06-17 15 views
9

Io uso play framework 2.3.0, di recente ho desidera aggiungere il CSRFFilterNon riesco a importare i filtri in play framework 2.3.0

Quando importo CSRF in global.scala:

import play.filters.csrf._ 

ottengo un errore per questo:

[errore] G: \ testprojects \ app \ Global.scala: 7: filtri oggetto non è un membro del pacchetto di Gioco [errore] importazione play.filters.csrf._

mio plugin.sbt è

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

io uso Build.scala invece di build.sbt

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

) 

risposta

9

Secondo il documentation si deve aggiungere la dipendenza filtri per il vostro progetto:

libraryDependencies += filters 

La documentazione è per build.sbt ma credo che dovrebbe funzionare anche con Build.scala.

+3

Nota che dovrai "importare play.Play.autoImport._' per accedere a' filters' (Riproduci 2.4.x) - trascorso alcuni minuti buoni cercando di capire perché i filtri non si risolverebbero nel mio Build .scala – Brett

+2

Attualmente è 'import play.sbt.Play.autoImport._',' play.Play' è deprecato – poroszd

+0

@poroszd Ricevo lo stesso errore in cui il mio progetto non è in grado di identificare play.sbt o giocare .filters. Potresti per favore aiutarmi a identificare cosa mi manca qui? l'errore che ottengo è impossibile trovare il simbolo simbolo: class CORSFilter posizione: class Filtri – user1242321

1

Giocare quadro GZipFilter sta lavorando per me,

mia build.sbt file di

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 

finalmente funzionerà .... (comando di aggiornamento è importante) se IDE non in grado di rilevare play.filters
fare i passaggi sopra ancora una volta
finalmente copia incolla sottostante Codice

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

grazie funziona – MSH

1

In Play 2.4.3, l'importazione è:

import play.filters.cors.CORSActionBuilder 

Non è più chiama csrf, ma cors.