DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world

Snippets has posted 5883 posts at DZone. View Full User Profile

Autenticando Por UserName O Email

  • submit to reddit
protected void Login1_LoggingIn(object sender, LoginCancelEventArgs e)
    Regex r = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.Compiled);
    // sólo si el usuario ingreso un email
    if (r.IsMatch(Login1.UserName))
        string username = Membership.GetUserNameByEmail(Login1.UserName);
        // esto significa que el usuario ingresó un email que no existe
        if (String.IsNullOrEmpty(username))
            // mostramos un mensaje de error amigable y cancelamos la autenticación
            Literal error = Login1.FindControl("FailureText") as Literal;
            error.Text = "La dirección de email no se encuentra en nuestros registros.";
            e.Cancel = true;
            // Encontramos el nombre de usuario :)
            // Reemplaza el email por el UserName verdadero
            Login1.UserName = username;