2016-03-22 89 views
0

此流星應用程序使用帳戶密碼包和自定義登錄表單並刪除了自動發佈包,從而在服務器上使用Accounts.createUser創建用戶帳戶。已創建的用戶帳戶未顯示在瀏覽器控制檯中

即使一個用戶已被創建並在流星蒙戈終端驗證db.users.find({}).pretty(),該命令Meteor.users.find().fetch()在對瀏覽器控制檯空數組[]

編輯
Meteor.user()在瀏覽器控制檯返回null

編輯2
觸發Accouts.createUser的步驟如下:
模板按鈕事件調用方法A,它在服務器上將用戶名和密碼存儲在全局對象中,然後調用方法B,然後調用服務器端函數,該函數使用用戶名和密碼調用Acounts.createUser全局對象。

server.js

Meteor.publish('users', function() { 
    if (this.userId) { 
    return Meteor.users.find({_id: this.userId}); 
    } 
}); 

client.js

Meteor.subscribe('users'); 

這是正常的嗎?如果是這樣,流星怎麼知道哪個瀏覽器「會話」屬於哪個客戶端?由於

回答

0

看一看該文檔爲Accounts.createUser

在客戶端,這個功能登錄爲成功完成新創建的用戶。在服務器上,它返回新創建的用戶標識。

因此,如果您只從服務器創建用戶,用戶將不會自動登錄。如果用戶未登錄,他/她的用戶文檔將不會發布。

你有兩個選擇:

  1. 呼叫Accounts.createUser從客戶端。
  2. 要求用戶在服務器上創建帳戶後登錄。
相關問題