摘要:內(nèi)部實現(xiàn)了對用戶系統(tǒng)的支持,可以讓你的應(yīng)用程序分分鐘種支持多用戶系統(tǒng)。數(shù)據(jù)和用戶信息關(guān)聯(lián)使用的添加一條數(shù)據(jù)頁面添加事件在保存的時候,額外保存了兩條用戶相關(guān)的數(shù)據(jù)一個是用戶的,一個是用戶的名稱。
Meteor 內(nèi)部實現(xiàn)了對用戶系統(tǒng)的支持,可以讓你的應(yīng)用程序分分鐘種支持多用戶系統(tǒng)。
要開啟對于Accounts 系統(tǒng)和UI的支持,我們需要添加相關(guān)的packages,cd 到App的目錄,添加相關(guān)的包:
meteor add accounts-ui
meteor add accounts-password
一個是用戶系統(tǒng)相關(guān)的ui包,一個是password相關(guān)的包
添加login按鈕直接在body里面添加login的模板即可:
{{> loginButtons}}
效果如下:
點擊按鈕會彈出一個登錄框:
可以登錄,也可以跳轉(zhuǎn)到注冊界面
在取用戶信息在html中可以通過currentUser這個變量獲取到用戶的信息
{{#if currentUser}}{{currentUser.username}}{{> add}} {{> detail}} {{/if}}
currentUser可以判斷用戶是否登錄,沒有登錄的用戶該值為空,如果用戶已經(jīng)登錄可以通過currentUser.username得到用戶的名字。
數(shù)據(jù)和用戶信息關(guān)聯(lián)使用add的template添加一條language數(shù)據(jù)
頁面:
添加事件:
Template.add.events({ "submit .new-language": function (event) { event.preventDefault(); console.log("test"); console.log(Meteor.user().username); var text = event.target.text.value; Languages.insert({ text: text, createdAt: new Date(), owner: Meteor.userId(), username: Meteor.user().username }); } });
在保存Lanuages的時候,額外保存了兩條用戶相關(guān)的數(shù)據(jù) 一個是用戶的id,一個是用戶的名稱。owner保存的是user的 _id就是MongoDB的主鍵。通過Meteor.userId() 可以獲得當前登錄用戶的id,Meteor.user()可以獲得當前登錄的用戶,Meteor.user()在JavaScript中使用,而currentUser在html中使用。
在數(shù)據(jù)中顯示用戶信息在lanuage信息中,顯示出用戶名
{{#each languages}}{{username}} -{{text}}{{/each}}
獲取數(shù)據(jù)的代碼:
Template.detail.helpers({ languages: Languages.find({owner: Meteor.userId()}) });
從保存到數(shù)據(jù)庫中的用戶信息中,顯示用戶的名稱。
項目源代碼地址:https://github.com/jjz/meteor/tree/master/meteor-account
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/18829.html
摘要:為了開啟這套賬戶系統(tǒng)和界面,我們需要去添加相關(guān)的包。使用,而不是在文件加入開始這段代碼只會在客戶端執(zhí)行加入結(jié)束添加用戶關(guān)聯(lián)功能現(xiàn)在你已經(jīng)可以創(chuàng)建賬戶并登錄你的應(yīng)用程序了。例如包含了已登陸用戶的用戶名。 添加多用戶賬戶 Meteor帶來了一套賬戶系統(tǒng)然后順便還帶了用戶界面來讓你可以在幾分鐘之內(nèi)在你的應(yīng)用中添加多用戶功能 目前,這套UI組件使用Blaze作為默認的UI引擎,在未來,可能會以...
摘要:在我的機子上,運行于端口,以避免和其他默認運行于端口的沖突。我們可以使用命令連接數(shù)據(jù)庫查看定義應(yīng)用層次創(chuàng)建的模板應(yīng)用有一個問題,客戶端和服務(wù)器段的代碼是一樣的。在中加入然后添加問題模板注意我們使用了來確保用戶未登錄的情況下應(yīng)用。 編者注:我們發(fā)現(xiàn)了有趣的一系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯中,一天一篇更新,年終禮包。下面是第15天的內(nèi)容。 到目前為止我們討論了Bower...
摘要:在我的機子上,運行于端口,以避免和其他默認運行于端口的沖突。我們可以使用命令連接數(shù)據(jù)庫查看定義應(yīng)用層次創(chuàng)建的模板應(yīng)用有一個問題,客戶端和服務(wù)器段的代碼是一樣的。在中加入然后添加問題模板注意我們使用了來確保用戶未登錄的情況下應(yīng)用。 編者注:我們發(fā)現(xiàn)了有趣的一系列文章《30天學(xué)習(xí)30種新技術(shù)》,正在翻譯中,一天一篇更新,年終禮包。下面是第15天的內(nèi)容。 到目前為止我們討論了Bower...
摘要:通過發(fā)布訂閱模式過濾數(shù)據(jù)現(xiàn)在我們已經(jīng)把應(yīng)用中比較敏感的代碼放到了一些方法里面,我們還需要學(xué)習(xí)安全故事的另一半內(nèi)容了。當在客戶端被調(diào)用時傳入發(fā)布器名稱,客戶端將會從發(fā)布器訂閱所有的數(shù)據(jù)。這個按鈕應(yīng)該只是給任務(wù)的所有者來顯示。 通過發(fā)布訂閱模式過濾數(shù)據(jù) 現(xiàn)在我們已經(jīng)把應(yīng)用中比較敏感的代碼放到了一些方法里面,我們還需要學(xué)習(xí)Meteor安全故事的另一半內(nèi)容了。到現(xiàn)在為止,我們一直是假設(shè)整個整個...
摘要:發(fā)布與訂閱在端使用函數(shù)注冊一個的發(fā)布者,需要在客戶端對進行訂閱,使用訂閱了現(xiàn)在已經(jīng)添加的數(shù)據(jù)就會重新出現(xiàn)在頁面上。利用發(fā)布訂閱模式,我們也可以實現(xiàn)對于私有數(shù)據(jù)的訪問。 我們可以使用安全的方法讓用戶端不直接操作數(shù)據(jù)庫,但是還是可以直接讀取數(shù)據(jù)庫內(nèi)容,如果我們還需要保護私有的數(shù)據(jù)存儲,在客戶端直接使用Collection.find(),這樣的操作方式在實際的項目中并不會使用,這樣的數(shù)據(jù)無法...
閱讀 3396·2021-11-24 09:38
閱讀 1393·2021-11-22 15:08
閱讀 1468·2021-09-29 09:35
閱讀 486·2021-09-02 15:11
閱讀 1311·2019-08-30 12:55
閱讀 393·2019-08-29 17:16
閱讀 499·2019-08-29 11:30
閱讀 424·2019-08-26 13:23