2013-08-03 43 views
2

我最近更新了代码的某些部分,并希望检查它们是否适用于生产数据库,该数据库针对不同用户具有不同的数据集。但我只能以自己的用户身份访问该应用程序。作为另一个用户访问流星应用程序

如何通过另一个用户的眼睛看到流星应用?

回答

2

UPDATE:要做到这一点,最好的办法是使用方法

服务器端

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>"); 

这是保持简单的的缘故清晰,随意放置在您自己的安全措施。

+0

这似乎并没有工作了,因为流星使用在'services.resume.loginToken' hashedTokens;这是在Meteor 1.1上,但可能更早发生。 – Han

+0

@韩你是对的。我已经用最好的方法更新了答案 – Akshat

+0

也在客户端控制台中调用'Meteor.connection.setUserId(userId)'。 – phocks

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;}; 
}); 

刷新客户端以撤销。

这可能不是一个非常优雅的解决方案,但它有诀窍。

相关问题