0

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

{{#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;
}
4

2 回答 2

0

改用currentUser它应该可以正常工作。

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

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

于 2013-10-28T14:18:45.217 回答
0

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

于 2013-11-04T07:40:28.700 回答