【问题标题】:Session doesn't work after upgrade to Play Framework 2.5.4, Scala升级到 Play Framework 2.5.4、Scala 后会话不起作用
【发布时间】:2016-08-04 20:55:02
【问题描述】:

在将我的项目从 2.4.8 升级到 Play Framework 2.5.4 后,我在使用会话时遇到了问题。我的控制器中有一些方法可以测试问题:

def test = Action { implicit request =>
  Redirect(controllers.routes.Carts.test2()).withSession(new Session(Map("user" -> "customer")))
}

def test2 = Action { implicit request =>
  Ok(request.session.data.toString())
}

基本上test 方法添加会话并重定向到test2 方法。当我在重定向后使用测试方法 url 打开页面时,我在浏览器中得到了我需要的内容:

地图(用户 -> 客户)

但是如果我在那之后刷新页面,我会得到:

地图(csrfToken -> ce1a6222484f378d38ab3534c2b400191270395d-1470238791014-c988ce3fe47259173166949a)

因此,似乎会话仅适用于一个请求,然后用 csrfToken 覆盖。我已禁用所有过滤器。我的过滤器类如下所示:

class Filters @Inject() () extends HttpFilters {
  val filters = Seq.empty
}

无法理解我的代码有什么问题。升级前相同的代码运行良好。

【问题讨论】:

  • 您是否在浏览器中刷新而不再次进行重定向?
  • @marcospereira 是的,只是在浏览器中刷新
  • 你能显示你的配置吗(application.conf)

标签: scala session playframework playframework-2.0


【解决方案1】:

如果 session.secure 是真的,请检查你的 application.conf 把它带到

play.http.session.secure=false

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-08
    • 2023-03-18
    • 2016-12-14
    • 1970-01-01
    • 2016-08-19
    • 2019-07-18
    • 2016-11-08
    • 2016-12-12
    相关资源
    最近更新 更多