【发布时间】:2016-06-05 11:04:44
【问题描述】:
为了标记已登录到我的 Play 网络应用程序的用户,我在会话中存储了一个标志,如下所示:
Ok("Success").withSession("LoggedIn"-> "Yes")
现在,我需要知道当前登录的用户数量和他们的姓名,这可以不使用缓存吗?
【问题讨论】:
标签: scala playframework playframework-2.0
为了标记已登录到我的 Play 网络应用程序的用户,我在会话中存储了一个标志,如下所示:
Ok("Success").withSession("LoggedIn"-> "Yes")
现在,我需要知道当前登录的用户数量和他们的姓名,这可以不使用缓存吗?
【问题讨论】:
标签: scala playframework playframework-2.0
没有。 withSession 在客户端浏览器中使用您提供的数据设置一个 cookie,但不存储该数据服务器端。除非您添加服务器端代码来跟踪它们,否则无法确定您分发了多少活动 cookie。
不过,将这些数据存储在像这样的普通会话中还有许多其他缺陷。例如,客户端可以篡改 cookie 使其看起来好像他们已登录。最好使用现有的和经过审查的身份验证库,例如 Play2-auth、SecureSocial 等,而不是滚动你自己的。
【讨论】:
withSession,难道没有简单的技术来标记会话吗?