【问题标题】:Authentication and Session Play Framework身份验证和会话播放框架
【发布时间】:2012-08-15 17:18:47
【问题描述】:

我正在尝试使用 scala 语言通过 playframework 进行身份验证。

下面的代码是什么意思,Security.username -> java.util.UUID.randomUUID().toString()的部分

def authenticate = Action { implicit request =>
  loginForm.bindFromRequest.fold(
    formWithErrors => BadRequest(html.login(formWithErrors)),
    user => Redirect(routes.Application.index).withSession(Security.username -> java.util.UUID.randomUUID().toString())
  )
}

我想创建一个网站,允许用户通过会话安全地访问自己的设置。

【问题讨论】:

    标签: scala playframework playframework-2.0


    【解决方案1】:

    这意味着你正在将一个键值对写入你的会话(实际上是一个签名的 cookie)(“key” -> “value” 计算为一个元组(“key”,“value”))。

    使用密钥“Security.username”。这将检查配置“session.username”是否存在,否则默认为“username”。所以如果你不配置任何东西,关键是'用户名'。

    java.util.UUID.randomUUID().toString() 生成一个唯一标识符(用户名值)。如果您已经有任何形式的用户名,请改用它。

    与 servlet(或例如 php)会话相比,正在运行的会话不存储在服务器上,而是存储在 cookie 上。因此,只有字符串类型的键值对是有效的,并且大小上限为 4k 数据。也许您只想将用户名存储在会话中并从其他数据存储区(例如您的文件系统或数据库)加载设置。在实现此查找时,强烈建议使用 play 的缓存功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-12
      • 2014-04-14
      • 2013-04-03
      • 1970-01-01
      • 2023-03-14
      • 2011-10-09
      • 2016-12-14
      相关资源
      最近更新 更多