将我的项目从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的页面时,我在浏览器中得到了我需要的东西:
Map (用户 - >客户)
但是如果我在那之后刷新页面我会得到:
Map (csrfToken - > ce1a6222484f378d38ab3534c2b400191270395d-1470238791014-c988ce3fe47259173166949a)
所以,看起来session只适用于一个请求,然后用csrfToken覆盖 . 我已禁用所有过滤器 . 我的过滤器类看起来像这样:
class Filters @Inject() () extends HttpFilters {
val filters = Seq.empty
}
无法理解我的代码有什么问题 . 在升级之前,相同的代码工作正常 .
1 回答
如果session.secure为true,请检入你的application.conf