【发布时间】:2015-11-27 08:56:48
【问题描述】:
我正在开发一个只有管理员才能为系统创建用户的应用程序;这意味着用户被限制创建帐户,但如果为他/她制作了登录凭据,则可以登录。
我正在考虑使用houston:admin 手动创建用户,但是如何限制用户使用accounts-ui 创建帐户?
我应该使用不同的包来完全实现这一点吗?
【问题讨论】:
标签: javascript meteor meteor-accounts
我正在开发一个只有管理员才能为系统创建用户的应用程序;这意味着用户被限制创建帐户,但如果为他/她制作了登录凭据,则可以登录。
我正在考虑使用houston:admin 手动创建用户,但是如何限制用户使用accounts-ui 创建帐户?
我应该使用不同的包来完全实现这一点吗?
【问题讨论】:
标签: javascript meteor meteor-accounts
您有几种方法可以阻止用户创建帐户:
在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.");
});
如果当前用户不是管理员,这将阻止创建帐户。
configuring Accounts 禁止创建帐户(客户端和服务器):
Accounts.config({
forbidClientAccountCreation: true
});
拒绝来自客户端对createUser() 的调用(但不会阻止使用 oAuth 服务创建用户)。
两者兼而有之是一种可能的行动方案。 查看链接文档了解更多详情。
【讨论】: