如何禁止在流星中登录非活动用户?

时间:2013-05-19 22:59:43

标签: meteor

我在users集合上有一个活动字段,我想阻止将该字段设置为false的用户登录到该应用程序。我可以允许他们以后登录,因此我无法删除他们的帐户或更改他们的密码。我如何禁止他们登录流星?

2 个答案:

答案 0 :(得分:1)

可能最安全的做法是将用户的数据移动到另一个集合并删除用户的帐户。当然,如果系统中的现有数据与该用户的id相关联,那么这可能是不可取的。

我查看了文档并找不到任何听起来像你可以设置帐户失效标志的内容(这看起来似乎是一个非常有用的功能)。

警告我不是安全专家。以下建议可能很糟糕:

如果您需要保留用户帐户,可以尝试的一件事是移动或修改用户帐户中的SRP数据。例如,您可以将字符串'--disabled--'附加到'services.password.srp.salt'。这将阻止用户重新登录,显然您可以通过删除字符串来反转该过程。

答案 1 :(得分:1)

虽然这并不能阻止他们直接登录,但是一旦登录就会将其注销,具体取决于您的使用情况可能会起作用:

Meteor.autorun(function(){
  if(typeof Meteor.user().blocked !== "undefined"){
    Meteor.logout(function(){alert('Your account is blocked at the moment, please contact us for more information');});    
  }
});

已阻止的是您设置的无效帐户属性