2010-12-01 13 views
5

Me gustaría asegurarme de que las únicas personas con dirección de correo electrónico de cierto dominio puedan registrarse para un sitio que esté utilizando Devise.¿Cómo puedo usar Devise Authentication para validar que una dirección de correo electrónico de registro es de cierto dominio?

Por ejemplo, si las personas se inscriben con el correo electrónico [email protected], deben recibir un correo electrónico de confirmación, pero si se registran con [email protected], deben recibir un mensaje de error.

Respuesta

14

Uncommenting esta línea en config/inicializadores/devise.rb

# Regex to use to validate the email address 
# config.email_regexp = /^([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})$/i 

y cambiándolo a utilizar el dominio que quería limitar a:

config.email_regexp = /\A([\w\.%\+\-]+)@mysite\.com\z/i 

hizo el truco.

+2

¡Bonito hallazgo! Es posible que desee escapar de la. en mysite.com sin embargo. –

+1

Muy útil. Si desea incluir en la lista blanca varios dominios, puede usar el operador o '' 'y agruparlos como sigue:'/\ A ([\ w \.% \ + \ -] +) (@ firstdomain \ .com \ z) | (@seconddomain \ .com \ z)/i' – timsvoice

Cuestiones relacionadas