Session 流星会议

Session 流星会议,session,meteor,Session,Meteor,经过研究,Meteor会话似乎在刷新页面或在新选项卡中打开网站后被重置,也就是说,它们不是通常的服务器端会话,而是类似于客户端的全局javascript变量。有些人建议使用AmplificJS,但我不确定它是否会像其他框架/语言中的普通会话一样工作,而且它是第三方库,所以在Meteor中是否有正常的方式使用会话,即在服务器上保留用户特定的数据 目前,我正在使用自定义集合来处理这个问题,但这不是一种理想的方法,因为需要手动从集合中删除过期值,这会带来额外的麻烦。是的,这是正确的。尽管名称Sessi

经过研究,Meteor会话似乎在刷新页面或在新选项卡中打开网站后被重置,也就是说,它们不是通常的服务器端会话,而是类似于客户端的全局javascript变量。有些人建议使用AmplificJS,但我不确定它是否会像其他框架/语言中的普通会话一样工作,而且它是第三方库,所以在Meteor中是否有正常的方式使用会话,即在服务器上保留用户特定的数据


目前,我正在使用自定义集合来处理这个问题,但这不是一种理想的方法,因为需要手动从集合中删除过期值,这会带来额外的麻烦。

是的,这是正确的。尽管名称
Session
一点也不像cookie,只是hashmap中存储的变量的反应形式

要在多个选项卡之间保持数据的持久性,您需要使用集合(因为这是在多个选项卡之间以反应方式共享数据的唯一方法)-Cookie无法工作,因为它们不能以反应方式工作,因为需要将数据发送到服务器,以便在发生更改时通知客户端。现在真的没有其他方法了,因为发布/订阅方法目前只能从集合发送数据


您可以将现有设置用于自定义收藏。您可以使用服务器端cron作业删除过期数据(使用或)。

有一个专门为此开发的软件包:

安装后,您可以使用以下功能设置持久会话:

//store a persistent session variable which is stored across templates
Session.setPersistent(key, value);

//same as above, but automatically deletes session data when user logs out
Session.setAuth(key, value);
我试过这个包装,效果很好