2015-11-26 262 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