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

Смежные вопросы