1
2 protected void Login1_LoggingIn(object sender, LoginCancelEventArgs e)
3 {
4 Regex r = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.Compiled);
5
6 // sólo si el usuario ingreso un email
7 if (r.IsMatch(Login1.UserName))
8 {
9 string username = Membership.GetUserNameByEmail(Login1.UserName);
10
11 // esto significa que el usuario ingresó un email que no existe
12 if (String.IsNullOrEmpty(username))
13 {
14 // mostramos un mensaje de error amigable y cancelamos la autenticación
15 Literal error = Login1.FindControl("FailureText") as Literal;
16 error.Text = "La dirección de email no se encuentra en nuestros registros.";
17 e.Cancel = true;
18 }
19
20 else
21 {
22 // Encontramos el nombre de usuario :)
23 // Reemplaza el email por el UserName verdadero
24 Login1.UserName = username;
25 }
26 }
27 }