2015-11-26 221 views
1

我正在研究只有管理员应该能够为系统创建用户的应用程序;这意味着用户被限制创建一个帐户,但如果登录凭据是为他/她做的,则可以登录。如何限制用户帐户密码创建帐户?

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

我应该使用不同的包来实现这一点吗?

回答

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服务不会阻止用户创建)。

这两者的组合可能是一种行为。 查看链接的文档以获取更多详细信息。

+0

这对我来说很好,非常感谢! – Jori

+0

然后你应该接受答案。 – MasterAM

+1

忘记了,对不起! :) – Jori