2013-10-28 96 views
0

我已經做了我自己的登錄檢查。流星如何保存狀態登錄

{{#unless logged}} 
    {{> login}} 
{{/unless}} 
{{#if logged}} 
    {{> content}} 
{{/if}} 

已記錄只是一個會話變量,但我很快就意識到,這是不聰明,因爲有人可能會設置這個在客戶端設置爲true。所以記錄檢查現在也檢查是否設置了userId。這是我現在測試它也不安全,因爲我可以設置此客戶端以及。我怎樣才能讓這個更安全一點?

我剛剛自己的集合叫做partyUsers。然後我有一個簡單的形式,這基本上是這樣的: click 然後在客戶端上我做Method.call到服務器端登錄。該方法簡單檢查用戶名和密碼是否正確。如果是這樣,返回true否則爲false。

var User = Meteor.partyUsers.findOne({'email':email, 'password': password}); 
if(User !== undefined){ 
    return true; 
}else{ 
    return false; 
} 

回答

0

我創建了自己的包,它使用放大並在用戶登錄之前執行額外的登錄驗證

0

使用currentUser反而應該全部工作。

{{#unless currentUser}} 
    {{> login}} 
{{else}} 
    {{> content}} 
{{/if}} 

至於可以控制經由Meteor.publishdocs)和數據向下發送到客戶端的數據可經由Collection.allowdocs)進行編輯的安全性。您無法控制某人能夠看到內容,但您可以確保他們無法訪問或更改特權數據

+0

currentUser來自Meteor提供的我不能使用的包。 – Haagenti

+0

你可以給你更多的代碼,你正在使用什麼?我以爲你在使用基於賬戶基礎的東西? – Akshat

+0

完成檢查問題 – Haagenti