小编Mik*_*rts的帖子

如何强制Play框架2始终使用SSL?

我有一个在Heroku上运行的Play Framework应用程序,使用Heroku的SSL端点.

我想通过SSL仅提供所有页面.

最好的方法是什么?

到目前为止,我最好的解决方案是onRouteRequest在我的GlobalSettings路由器中使用并将non-SSL请求路由到特殊的重定向处理程序:

override def onRouteRequest(request: RequestHeader): Option[Handler] = {
  if (Play.isProd && !request.headers.get("x-forwarded-proto").getOrElse("").contains("https")) {
    Some(controllers.Secure.redirect)
  } else {
    super.onRouteRequest(request)
  }
}
Run Code Online (Sandbox Code Playgroud)

package controllers

import play.api.mvc._

object Secure extends Controller {

  def redirect = Action { implicit request =>
    MovedPermanently("https://" + request.host + request.uri)
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法完全从内部做到这一点GlobalSettings?还是更好的东西?

ssl scala heroku playframework-2.0

16
推荐指数
2
解决办法
4416
查看次数

在Play框架中是否有与Json.reads [Foo]和Json.writes [Foo]相当的XML

在Scala的Play Framework中,设置json序列化就像添加一样简单

implicit val siteReads = Json.reads[Foo]
implicit val siteWrites = Json.writes[Foo]
Run Code Online (Sandbox Code Playgroud)

到模型中的Foo对象.是否有一种等效的简单方法来为XML执行此操作?

xml json scala playframework-2.0

5
推荐指数
1
解决办法
177
查看次数

标签 统计

playframework-2.0 ×2

scala ×2

heroku ×1

json ×1

ssl ×1

xml ×1