如何通过用户帐户密码限制帐户创建?

时间:2015-11-26 23:53:16

标签: javascript meteor meteor-accounts

我正在开发一个只有管理员才能为系统创建用户的应用程序;意味着用户被限制创建帐户,但如果为他/她制作了登录凭据,则可以登录。

我正考虑使用houston:admin手动创建用户,但如何限制用户使用accounts-ui创建帐户?

我应该使用不同的套餐来实现这一目标吗?

1 个答案:

答案 0 :(得分:2)

您有多种方法可以阻止用户创建帐户:

  1. Accounts.onCreateUser()回调中抛出错误(仅限服务器):

    Accounts.onCreateUser(function(options, user) {
      if (/* some logic to figure out if current user is an admin */) {
        return user;
      }
      throw new Meteor.Error("user creation disabled.");
    });
    

    如果当前用户不是管理员,这将阻止创建帐户。

  2. configuring Accounts禁止创建帐户(包括客户端和服务器):

    Accounts.config({
      forbidClientAccountCreation: true
    });
    

    拒绝从客户端调用createUser()(但不会阻止使用oAuth服务创建用户)。

  3. 两者的结合可能是一种行动方式。 请查看链接的文档以获取更多详细信息。