Meteor如何保存登录状态

时间:2013-10-28 14:00:28

标签: javascript meteor

我已经进行了自己的登录检查。

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

Logged只是一个会话变量,但我很快意识到这并不聪明,因为有人可以将客户端设置为true。因此,记录的检查现在还检查是否设置了userId。现在我测试它也不安全,因为我可以设置此客户端。我怎样才能让它更安全?

我有自己的名为partyUsers的集合。然后我有一个简单的形式,基本上是这样的:               点击 然后在客户端上我将Method.call用于服务器端登录。该方法简单检查是用户名和密码是否正确。如果是这样,则返回true,否则为false。

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

2 个答案:

答案 0 :(得分:0)

使用currentUser代替它应该全部工作。

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

对于安全性,您可以通过Meteor.publishdocs)控制发送到客户端的数据,以及可以通过Collection.allowdocs)进行编辑的数据。您无法控制能够查看内容的人,但可以确保他们无法访问或更改特权数据

答案 1 :(得分:0)

我创建了自己的包,它使用amplify并在用户登录之前进行额外的登录验证