以另一个用户身份访问Meteor应用程序

时间:2013-08-03 16:52:46

标签: authentication meteor

我最近更新了代码的某些部分,并希望检查它们是否与生产数据库配合得很好,生产数据库具有针对不同用户的不同数据集。但我只能以自己的用户身份访问该应用程序。

如何通过其他用户的眼睛看到Meteor应用程序?

3 个答案:

答案 0 :(得分:2)

更新:执行此操作的最佳方法是使用方法

服务器端

Meteor.methods({
    logmein: function(user_id_to_log_in_as) {
        this.setUserId(user_id_to_log_in_as);
    }
}):

客户端

Meteor.call("logmein", "<some user_id of who you want to be>");

为了清楚起见,这一点很简单,请随意放在自己的安全措施中。

答案 1 :(得分:2)

我写了一篇关于它的blog post。但这里有详细信息:

在服务器上。添加仅管理员可以调用的方法,以便以编程方式更改当前登录的用户:

Meteor.methods(
  "switchUser": (username) ->
    user = Meteor.users.findOne("username": username)
    if user
      idUser = user["_id"]
      this.setUserId(idUser)
      return idUser
)

在客户端上。使用所需的用户名调用此方法,并覆盖客户端上的用户:

Meteor.call("switchUser", "usernameNew", function(idUser) {
    Meteor.userId = function() { return idUser;};
});

刷新客户端以撤消。

这可能不是一个非常优雅的解决方案,但它可以解决问题。

答案 2 :(得分:0)

从接受中略微更新的答案,以新用户和服务器身份登录客户端。

authenticated

此处有更多信息:Reading from an Object Stream