【问题标题】:Play for Scala: traverse all active sessionsPlay for Scala:遍历所有活动会话
【发布时间】:2016-06-05 11:04:44
【问题描述】:

为了标记已登录到我的 Play 网络应用程序的用户,我在会话中存储了一个标志,如下所示:

Ok("Success").withSession("LoggedIn"-> "Yes")

现在,我需要知道当前登录的用户数量和他们的姓名,这可以不使用缓存吗?

【问题讨论】:

    标签: scala playframework playframework-2.0


    【解决方案1】:

    没有。 withSession 在客户端浏览器中使用您提供的数据设置一个 cookie,但不存储该数据服务器端。除非您添加服务器端代码来跟踪它们,否则无法确定您分发了多少活动 cookie。

    不过,将这些数据存储在像这样的普通会话中还有许多其他缺陷。例如,客户端可以篡改 cookie 使其看起来好像他们已登录。最好使用现有的和经过审查的身份验证库,例如 Play2-auth、SecureSocial 等,而不是滚动你自己的。

    【讨论】:

    • 谢谢,我查看了这些库,它们似乎没有商业支持(我的项目需要这个)。如果不推荐withSession,难道没有简单的技术来标记会话吗?
    • 所以你的产品经理拒绝一个共同的、维护的和“审查过的”社区审查的库,因为它没有商业支持,而他接受一个可能有缺陷的内部解决方案的风险,设计没有广泛的社区审查,驱动通过 StackOverflow 问答?作为一个安全概念???
    • @ps0604 正确的身份验证绝非易事。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-06
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    相关资源
    最近更新 更多