【问题标题】:Use Persist Session in Meteor在 Meteor 中使用持久会话
【发布时间】:2017-11-26 00:51:45
【问题描述】:

最近,我正在使用 Meteor.js,我的开发出现的问题是如何为 Meteor.js 使用持久会话。

我使用过 Meteor 会话,当我刷新站点时它被删除了。所以我意识到我需要为我的课程做点什么。

我曾与谷歌合作,我发现所有关于持久会话的人都在使用 localStorage。

如果我使用 localStorage,我的会话不应该在 IE 上运行,因为 IE 不支持 localStorage。

对我的问题有什么建议吗? 感谢您的关注。

【问题讨论】:

标签: javascript session meteor


【解决方案1】:

您可以使用ground db,它还允许您在客户端离线内容,从而使您的会话数据持久保存在您的用户设备上。如果您想让您的客户端管理持久性存储,同时仍然能够管理复杂的数据缓存集,这将派上用场。

如果这不符合您的需求,您可以创建一个集合作为您的会话。这里的优点是持久性不受客户端对服务器的影响。障碍是,您需要实现一个稳定的 session-get-set 机制,其中包含大量的方法调用和数据更新。

此会话的架构可能是:

{
  userId:String, 
  state:{
    type:Object,
    backbox:true,
  }
}

blackbox 属性允许您绕过验证并使此集合非常灵活地用作会话存储。缺点是它可能会产生安全漏洞,因为传入的数据没有通过 collection2-core 验证(如果您使用它)。然后你必须自己验证你的变量。

【讨论】:

  • 感谢您的支持。
【解决方案2】:

我更喜欢@Jankapunkt 的方法,但只是把它放在那里,有this unsupported package 可以在浏览器刷新时持久化会话变量。

例如:Session.set(key, value)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-06
    • 2012-11-20
    • 2012-03-17
    • 1970-01-01
    • 2014-02-22
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多