流星如何保存登录状态

Meteor how to save status loggedin

本文关键字:登录 状态 保存 何保存 流星      更新时间:2023-09-26

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

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

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

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

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

改用currentUser它应该可以全部工作。

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

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

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