【发布时间】:2013-11-06 10:36:11
【问题描述】:
我在我的应用程序中使用 Play 框架处理会话,如下面的代码。
def login = Action {
{ implicit request =>
val email = request.body.asFormUrlEncoded.get("email")(0)
val password = request.body.asFormUrlEncoded.get("password")(0)
loginForm.bindFromRequest.fold(
errors => BadRequest(html.login(errors,"Please enter valid username password")),
//contact => Ok(html.login(loginForm,SignUpProcess.login(email,password)))
contact => Redirect(routes.Application.home).withSession("email" -> email,"password" -> password)
)
}
}
def index = Action { request =>
request.session.get("email").map{ user =>
Redirect(routes.Application.home).withSession("email" -> user)
}.getOrElse{
Ok(views.html.login(loginForm,"Enter username password to login"))
}
}
我需要为我的会话添加超时。在 Play 文档中,
会话没有技术超时,当 用户关闭网络浏览器。如果您需要功能超时 特定应用程序,只需将时间戳存储到用户会话中,然后 根据您的应用程序需要使用它(例如,用于最大会话 持续时间、最长不活动持续时间等)。
如何在我的用户会话中添加时间戳并设置最长不活跃持续时间?
【问题讨论】:
-
.withSession("email" -> user+","+System.currentTimeMillis)这确实有效。但我想如果功能不断增加,您将不得不开始在服务器上管理用户状态
标签: scala playframework playframework-2.0