如何将Meteor的userId值同步到客户端?

时间:2013-06-25 17:53:25

标签: meteor

出于兼容性原因,我目前无法使用Meteor的所有帐户功能。我的系统非常简单,但我在服务器上公开了一个执行必要身份验证工作的“身份验证”方法,然后,如果成功,则通过Meteor.userId()设置this.setUserId的值。唯一的问题是,当我在服务器上调用this.setUserId时,它似乎不会传播回客户端。 Meter.userId()继续在客户端上返回null,但在服务器上返回正确的值。由于this.setUserId是一个仅限服务器的函数,因此在“authenticate”方法返回后如何在客户端上设置正确的用户ID时我感到很遗憾。想法?

2 个答案:

答案 0 :(得分:3)

您需要做的不仅仅是设置userId以验证用户身份。查看这些示例以了解如何进行自定义身份验证:

第二个是我的榜样。我强烈建议建立基础accounts包提供的功能,而不是滚动所有自己的操作。

编辑:根据OP的回复,人们可能会对进行与验证无关的其他操作感兴趣;请参阅以下内容:

  

https://dweldon.silvrback.com/impersonating-a-user

答案 1 :(得分:1)

尽管Meteor文档将“this.setUserId()”列为仅服务器,但它当前也在客户端上工作,这就是我最终解决此问题的方法。< / p>