在 Meteor 中使用持久会话

问题描述 投票:0回答:2

最近在使用Meteor.js,开发中遇到的问题是如何为Meteor.js使用持久会话。

我曾经使用过 Meteor 会话,当我刷新网站时它被删除了。所以我意识到我需要为我的会议做一些事情。

我曾与谷歌合作,我发现他们所有的持久会话都在使用本地存储。

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

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

javascript session meteor
2个回答
1
投票

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

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

本次会议的模式可以是:

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

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


0
投票
我更喜欢@Jankapunkt的方法,但只是为了把它放在那里,有

这个unsupported可以在浏览器刷新时保存会话变量。

例如:Session.set(key, value)

© www.soinside.com 2019 - 2024. All rights reserved.