2013-03-16 87 views

回答

6

要模擬生產中的用戶,可以在服務器上呼叫setUserId,在客戶端上呼叫Meteor.connection.setUserId。欲瞭解更多詳情,請參閱我的blog post

+1

如果您使用Iron路由器並使用'Meteor.user()'來檢查用戶是否登錄了waitOn函數等。這是否意味着您必須將您的訂閱也放入'Tracker.autorun'? – MurWade 2015-01-13 08:15:13

3

如果您使用Meteor.userId()Meteor.user(),以確定您的JavaScript你的人,你可以使用這樣的事情在你的客戶端的js

Meteor.userId = function (impersonate_id) { 
    return (impersonate_id) ? impersonate_id : Meteor.default_connection.userId(); 
} 

Meteor.user = function (impersonate_id) { 
    var userId = Meteor.userId(impersonate_id); 
    if (!userId) 
     return null; 
    return Meteor.users.findOne(userId); 
} 

最頂端當您使用Meteor.userId覆蓋它,現在或Meteor.user修改您的代碼,以便在任何地方使用Meteor.user & Meteor.userId接受參數。所以,當你想冒充用戶只需通過它,你要登錄爲

Meteor.user("1"); //Loads the data for user with _id 1 
Meteor.user(); //Loads the actual logged in user 

用戶的_id的論點此外,如果你實際上是在管理這隻會工作,你的發佈功能,您可以查看所有用戶的數據

+0

但是,你怎麼知道假冒是否正在發生?例如,我如何知道何時傳入模擬ID?例如,包含模擬狀態的連接對象上是否存在某些內容? – Aaron 2015-06-26 00:34:57

相關問題