2013-08-03 70 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;}; 
}); 

刷新客戶端以撤銷。

這可能不是一個非常優雅的解決方案,但它有訣竅。

相關問題