#ruby-on-rails #devise
#ruby-on-rails #разработка
Вопрос:
Я хотел бы убедиться, что только пользователи с адресом электронной почты определенного домена могут зарегистрироваться на сайте, использующем Devise.
Например, если люди регистрируются с помощью электронной почты joe@mysite.com они должны получить электронное письмо с подтверждением, но если регистрация с joe@yoursite.com они должны получить сообщение об ошибке.
Ответ №1:
Раскомментировав эту строку в config/initializers/devise.rb
# Regex to use to validate the email address
# config.email_regexp = /^([w.% -] )@([w-] .) ([w]{2,})$/i
и изменение его для использования домена, который я хотел ограничить:
config.email_regexp = /A([w.% -] )@mysite.comz/i
сработало.
Комментарии:
1. Отличная находка! Возможно, вы захотите избежать . в mysite.com хотя.
2. Очень полезно. Если вы хотите внести в белый список несколько доменов, вы можете использовать оператор or
|
и сгруппировать их следующим образом:/A([w.% -] )(@firstdomain.comz)|(@seconddomain.comz)/i