记住我的功能 - 最简单的方法

时间:2014-05-25 12:32:33

标签: scala authentication playframework playframework-2.2

我已经实现了一个简单的身份验证系统,因为它在游戏的文档中有所描述。话虽如此,没有提及记住我的功能以及如何实现它。在互联网上搜索并没有给我任何相关的结果。

我想要的是一种简单方式。我肯定不需要任何插件或库。我该怎么做?

更新

addForm.bindFromRequest.fold(
  failure => BadRequest(views.html.session add failure),
  success => Redirect(routes.Account.index())  withSession "email" -> success._1

)

1 个答案:

答案 0 :(得分:0)

来自Play documentation

  

会话没有技术超时。它在用户关闭Web浏览器时到期。

可以在conf/application.conf中通过设置:

覆盖
session.maxAge=....

无法在每个会话的基础上覆盖它。 这适用于此应用程序使用的所有会话,如the source.

所示

另一种方法是使用cookie。要在您的示例中使用会话时使用cookie(但可以选择设置maxAge),您可以执行以下操作:

def signText(key: String, value: String): String = {
  val text = key + "=" + value
  Crypto.sign(text) + "-" + text
}

val maxAge: Int = ???

addForm.bindFromRequest.fold(
  failure => BadRequest(views.html.session add failure),
  success => Redirect(routes.Account.index()) withCookies Cookie("PLAY_SESSION",sign("email",success._1),maxAge)
)