流星和会话/公共数据

时间:2015-06-05 21:56:35

标签: javascript meteor

随着我的同构javascript讨伐,我把Meteor放在了一边,而我用MEAN堆栈玩了一下。为了避免任何进一步的推广,我决定完成我原来的原型社区申请。现在,我对Meteor的最大问题不是反应性,它的会话/普通数据。

我知道Meteor的本地会话系统是基于被动概念的,并且cookie不存在"因为Meteor在电线上运行"虽然让我们说我在LAMP上构建一个应用程序或意味着STACK,我正在创建一个用户界面。我使用cookie /会话来控制用户活动。如果Meteor没有反应性,我该如何保持持久性呢?

我已经在大气中搜索了符合我标准的套餐,我遇到了几个存储" presistent sessions"的软件包。虽然这些接口是在客户端而不是服务器上运行的;因此我的代码将暴露给客户端,因此将应用程序设置为exploitaton。

所有这些,我知道Meteor有它的标准用户界面。我在这里尝试做的就是了解Meteor,并获得未来工作经验。

1 个答案:

答案 0 :(得分:3)

Meteor有一个内置的登录系统,可以跟踪登录用户,这是人们使用cookie的主要原因之一。如果您想以持久的方式在客户端上存储其他数据,可以使用HTML5 localStorage API。

我认为你所指的是像PHP这样的东西允许你将数据存储在实际存储在服务器上的“SESSION”变量中,但是在来自同一客户端的不同请求之间存在。

如果这是您正在寻找的,有几种方法可以提供类似的功能:

  1. 存储与特定用户相关联的数据,并使用Meteor为您提供的userId仅为该用户发布(使用Meteor.publish
  2. 拥有一个随机生成的客户端ID,该ID存储在localStorage中,并在调用订阅或方法时将其传递给该客户端进行身份验证。这将适用于用户未登录的情况,并且将为您提供与PHP中的cookie /会话非常相似的结果。您仍然会将实际数据存储在服务器上的数据库中,但您将通过唯一ID知道哪些数据与特定客户端相关联。
  3. Meteor的Session变量确实以一种令人困惑的方式命名,如果你来自PHP SESSION意味着完全不同的话。

    这会回答你的问题吗?

相关问题