在流星中使用持久会话

时间:2017-11-23 08:45:34

标签: javascript session meteor

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

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

我和google一起工作过,我发现有关persist session的内容正在使用localStorage。

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

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

2 个答案:

答案 0 :(得分:1)

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

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

此会话的架构可能是:

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

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

答案 1 :(得分:0)

我更喜欢@ Jankapunkt的方法,但只是把它放在那里,有this unsupported package可以通过浏览器刷新来保存会话变量。

例如:Session.set(键,值)