最近,我正在使用Meteor.js,我的开发问题是如何使用Meteor.js的持久化会话。
我已经使用Meteor会话,当我刷新网站时它被删除了。所以我意识到我需要为我的会议做点什么。
我和google一起工作过,我发现有关persist session的内容正在使用localStorage。
如果我使用localStorage,我的会话不应该在IE上工作,因为IE不支持localStorage。
对我的问题有什么建议吗? 谢谢你的关注。
答案 0 :(得分:1)
您可以使用ground db,它还允许客户端离线内容,从而使您的会话数据在您的用户设备上保持不变。如果您希望让客户管理持久性存储,同时仍然能够管理复杂的数据缓存集,那么这就派上用场了。
如果这不符合您的需求,您可以创建一个充当您的会话的集合。这里的优点是持久性不受客户端对服务器的影响。障碍是,您需要实现一个稳定的会话获取机制,其中包含大量的方法调用和数据更新。
此会话的架构可能是:
{
userId:String,
state:{
type:Object,
backbox:true,
}
}
blackbox属性允许您绕过验证并使此集合非常灵活,可用作会话存储。缺点是它可能会产生安全漏洞,因为传入的数据不会被collection2-core验证(如果你使用它)。您必须自己验证变量。
答案 1 :(得分:0)
我更喜欢@ Jankapunkt的方法,但只是把它放在那里,有this unsupported package可以通过浏览器刷新来保存会话变量。
例如:Session.set(键,值)