2013-10-28 97 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