Отключить регистрацию метеоров - программирование
Подтвердить что ты не робот

Отключить регистрацию метеоров

Я хочу отключить регистрацию в приложении Meteor. Я использую учетную запись ui smartpackage.

Я пробовал это:

Accounts.config({
  var forbidClientAccountCreation = true;
})

но мой сервер приложений падает. Как я могу это исправить?

Это использует один универсальный JS файл, а не один для клиента и один для сервера.

4b9b3361

Ответ 1

Accounts.config принимает один параметр, который является хэш-функцией javascript. Вы должны написать это правильно:

Accounts.config({
  forbidClientAccountCreation : true
});

Ответ 2

Я только что столкнулся с этим, и ответы здесь не совсем понятны. Принимаемый ответ работает для OP, потому что он использует один JS файл, но если нет, поместите следующий код в файл вне папок client и server.

Accounts.config({
  forbidClientAccountCreation : true
});

Причина в том, что запуск его на клиенте вызовет функцию accounts-ui для скрытия ссылок и текста "Зарегистрироваться", а запуск на сервере фактически запретит создание новых учетных записей пользователей.

Если вы запустите его только на клиенте, ссылки и текст будут скрыты, но вы все равно сможете создать учетную запись через консоль браузера.

Если вы запускаете его только на сервере, создание учетной записи всегда будет работать, но вы все равно получите связанные ссылки и текст.

Хорошее место для кода находится в папке lib, потому что все в этой папке будет обрабатываться Meteor как на сервере, так и на клиенте, а также перед любой другой папкой. Например, вы можете поместить его в lib/environment.js.

Ответ 3

Просто введите следующую команду на консоли:

Accounts._loginButtonsSession.set('inSignupFlow', true);

и вы снова увидите регистрационную форму.

Я сделал это, чтобы предотвратить проверку создания пользователя на сервере следующим образом:

Accounts.validateNewUser(function (user) {
    return false
});