6 de febrero de 2015

Utilizar Datatable y ExecuteReader para Login en ASP.NET

Se busca utilizar DataTable para validar las credenciales de un usuario, el diseño de la página web en que se realiza el login podría lucir de la siguiente manera
        Email:
         ID="txtEmail" runat="server">
         ID="RequiredFieldValidator1" runat="server"
            ControlToValidate="txtEmail" ErrorMessage="Email Required"
            ValidationGroup="val">
        
 />
        Password:
         ID="txtPassword" runat="server">
         ID="RequiredFieldValidator2" runat="server"
            ControlToValidate="txtPassword" ErrorMessage="Password Required"
            ValidationGroup="val">
        
 />
         ID="ButtonLogin" runat="server" onclick="ButtonLogin_Click"
            Text="Login" ValidationGroup="val" />
    
    


Y el code behind podría ser así:
protected void ButtonLogin_Click(object sender, EventArgs e){      
      using (DataTable dt = LookupUser(txtEmail.Text))
      {
        if (dt.Rows.Count == 0)
        {
          //Invalid username thus rows.count = 0. Set error message
          return;
        }
        else
        {
          string dbPassword = Convert.ToString(dt.Rows[0]["Password"]);
          if (string.Compare(dbPassword, txtPassword.Text) == 0)
          {
            Response.Redirect("home.aspx");
          }
          else
          {
            //Show error Message
            return; 
          }
        }
      }
    }
 
private static DataTable LookupUser(string Email){     
        const string connStr = "Data Source=.\\sqlexpress;Initial Catalog=TestinDB;Integrated Security=True;";
        const string query = "Select Password From UserTable Where Email = @txtEmail";

  DataTable result = new DataTable();
   using (SqlConnection conn = new SqlConnection(connStr)){
     conn.Open();
    using (SqlCommand cmd = new SqlCommand(query, conn)){
     cmd.Parameters.Add("@txtEmail", SqlDbType.VarChar).Value = Email;
         using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    result.Load(dr);
                }
            }
        }
        return result;
    }


Related Posts:

  • Uso de BCrypt y Salt C#Para mostrar el uso de se utilizara este formulario el código sera el siguiente private void button1_Click(object sender, EventArgs e){ string passwordAverificar = Convert.ToString(textBox1.Text.Trim()); if (s… Read More
  • Autenticación y autorización basada en formularios ASP.NET Para poder activar la seguridad basada en formularios hemos de seguir los siguientes pasos: · Configurar el modo de autenticación modificando la sección en web.config. · Denegar a los usuarios anónimos en la … Read More
  • Guardar - Mostrar imagenes en ASP.NETUna imagen puede guardarse tanto en una base de datos como en una carpeta dedicada a guardar imágenes en el servidor, un punto importante es que a diferencia de las aplicaciones de escritorio en donde el componente OpenFileDi… Read More
  • Consejos con ASP.NET Mientras cree cualquier sitio web, debe mantener en mente algunos puntos para mejorar su rendimiento.1.) Configure el debug=false de la siguiente manera:< compilation default Language="c#" debug="false" >2.) Use Server… Read More
  • Utilizar Datatable y ExecuteReader para Login en ASP.NET Se busca utilizar DataTable para validar las credenciales de un usuario, el diseño de la página web en que se realiza el login podría lucir de la siguiente manera         Email:  &… Read More