本文整理汇总了Scala中play.filters.csrf.CSRFFilter类的典型用法代码示例。如果您正苦于以下问题:Scala CSRFFilter类的具体用法?Scala CSRFFilter怎么用?Scala CSRFFilter使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CSRFFilter类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: HttpsOnlyFilter
//设置package包名称以及导入依赖的类
package utils
import javax.inject.Inject
import scala.concurrent.Future
import play.api._
import play.api.i18n.{I18nSupport, Messages, MessagesApi}
import play.api.mvc._
import Results.Ok
import akka.stream.Materializer
import play.api.http.HttpFilters
import play.filters.csrf.CSRFFilter
import controllers.routes
// If we configure play.http.forwarded.trustedProxies correctly, we don't need this filter... right? right!?
class HttpsOnlyFilter @Inject() (implicit val mat:Materializer, val messagesApi:MessagesApi) extends Filter with I18nSupport {
def apply(nextFilter:RequestHeader => Future[Result])(request:RequestHeader):Future[Result] = {
implicit val r = request
request.headers.get("X-Forwarded-Proto").map {
case "https" => nextFilter(request)
case _ => Future.successful(Ok(views.html.errors.onlyHttpsAllowed()))
}.getOrElse(nextFilter(request))
}
}
class Filters @Inject() (
configuration:Configuration,
csrfFilter:CSRFFilter,
httpsOnlyFilter:HttpsOnlyFilter) extends HttpFilters {
val map = Map("application.proxy.httpsOnly" -> httpsOnlyFilter)
override def filters = csrfFilter +: map.foldRight[Seq[EssentialFilter]](Seq.empty) { case ((k,f),filters) =>
configuration.getBoolean(k) collect {
case true => f +: filters
} getOrElse filters
}
}
示例2: HttpsOnlyFilter
//设置package包名称以及导入依赖的类
package utils
import javax.inject.Inject
import scala.concurrent.Future
import play.api._
import play.api.i18n.{I18nSupport, Messages, MessagesApi}
import play.api.mvc._
import Results.Ok
import play.api.http.HttpFilters
import play.filters.csrf.CSRFFilter
// If we configure play.http.forwarded.trustedProxies correctly, we don't need this filter... right? right!?
class HttpsOnlyFilter @Inject() (val messagesApi:MessagesApi) extends Filter with I18nSupport {
def apply(nextFilter:RequestHeader => Future[Result])(request:RequestHeader):Future[Result] = {
implicit val r = request
request.headers.get("X-Forwarded-Proto").map {
case "https" => nextFilter(request)
case _ => Future.successful(Ok("only http request accepted"))
}.getOrElse(nextFilter(request))
}
}
class Filters @Inject() (
configuration:Configuration,
csrfFilter:CSRFFilter,
httpsOnlyFilter:HttpsOnlyFilter) extends HttpFilters {
val map = Map("application.proxy.httpsOnly" -> httpsOnlyFilter)
override def filters = csrfFilter +: map.foldRight[Seq[EssentialFilter]](Seq.empty) { case ((k,f),filters) =>
configuration.getBoolean(k) collect {
case true => f +: filters
} getOrElse filters
}
}
示例3: HttpsOnlyFilter
//设置package包名称以及导入依赖的类
package utils
import javax.inject.Inject
import scala.concurrent.Future
import play.api._
import play.api.i18n.{I18nSupport,Messages,MessagesApi}
import play.api.mvc._, Results.Ok
import play.api.http.HttpFilters
import play.filters.csrf.CSRFFilter
import controllers.routes
// If we configure play.http.forwarded.trustedProxies correctly, we don't need this filter... right? right!?
class HttpsOnlyFilter @Inject() (val messagesApi:MessagesApi) extends Filter with I18nSupport {
def apply(nextFilter:RequestHeader => Future[Result])(request:RequestHeader):Future[Result] = {
implicit val r = request
request.headers.get("X-Forwarded-Proto").map {
case "https" => nextFilter(request)
case _ => Future.successful(Ok(views.html.errors.onlyHttpsAllowed()))
}.getOrElse(nextFilter(request))
}
}
class Filters @Inject() (
configuration:Configuration,
csrfFilter:CSRFFilter,
httpsOnlyFilter:HttpsOnlyFilter) extends HttpFilters {
val map = Map("application.proxy.httpsOnly" -> httpsOnlyFilter)
override def filters = csrfFilter +: map.foldRight[Seq[EssentialFilter]](Seq.empty) { case ((k,f),filters) =>
configuration.getBoolean(k) collect {
case true => f +: filters
} getOrElse filters
}
}
示例4: environment
//设置package包名称以及导入依赖的类
package com.github.jacobono.modules
import play.api.{ Configuration, Environment }
import play.api.http.HttpErrorHandler
import play.api.routing.Router
import play.core.SourceMapper
import play.filters.csrf.{ CSRFConfig, CSRFFilter }
import play.filters.headers.SecurityHeadersFilter
import com.softwaremill.macwire._
import com.github.jacobono.utils._
trait UtilModule {
def environment: Environment
def configuration: Configuration
def sourceMapper: Option[SourceMapper]
def routerOption: Option[Router]
def csrfFilter: CSRFFilter
def csrfConfig: CSRFConfig
def securityHeadersFilter: SecurityHeadersFilter
lazy val filters = wire[Filters]
lazy val csrfHelper = wire[CSRFHelper]
lazy val errorHandler: HttpErrorHandler = wire[ErrorHandler]
}
示例5: Filters
//设置package包名称以及导入依赖的类
import javax.inject.Inject
import play.api.http.DefaultHttpFilters
import play.filters.cors.CORSFilter
import play.filters.csrf.CSRFFilter
import play.filters.headers.SecurityHeadersFilter
import play.filters.hosts.AllowedHostsFilter
class Filters @Inject() (
csrfFilter: CSRFFilter,
allowedHostsFilter: AllowedHostsFilter,
securityHeadersFilter: SecurityHeadersFilter,
corsFilter: CORSFilter
) extends DefaultHttpFilters(
csrfFilter,
allowedHostsFilter,
securityHeadersFilter,
corsFilter
)
示例6: Filters
//设置package包名称以及导入依赖的类
import javax.inject._
import play.api._
import play.api.http.HttpFilters
import play.api.mvc._
import play.filters.csrf.CSRFFilter
import play.filters.headers.SecurityHeadersFilter
import controllers.filters.LoggingFilter
@Singleton
class Filters @Inject() (
env: Environment,
csrfFilter: CSRFFilter,
securityHeadersFilter: SecurityHeadersFilter,
loggingFilter: LoggingFilter) extends HttpFilters {
override val filters = {
if (env.mode == Mode.Dev)
Seq(csrfFilter, securityHeadersFilter, loggingFilter)
else
Seq(csrfFilter, securityHeadersFilter)
}
}
示例7: Filters
//设置package包名称以及导入依赖的类
import javax.inject.Inject
import play.api.http.DefaultHttpFilters
import play.filters.csrf.CSRFFilter
import play.filters.headers.SecurityHeadersFilter
import play.filters.hosts.AllowedHostsFilter
import org.zalando.hutmann.filters.CreateFlowIdFilter
class Filters @Inject() (
csrfFilter: CSRFFilter,
allowedHostsFilter: AllowedHostsFilter,
securityHeadersFilter: SecurityHeadersFilter,
flowIdFilter: CreateFlowIdFilter
) extends DefaultHttpFilters(
csrfFilter,
allowedHostsFilter,
securityHeadersFilter,
flowIdFilter
)