Un espacio para los entusiastas del web

13 ene 2011
69.520 Lecturas

Tutorial ASP.NET: Crear una página de login, autenticación y seguridad

Tags: ASP.NET,

Vamos a ver como ASP.NET nos brinda controles de servidor complejos que nos facilitan la implementación de funcionalidades complejas en nuestras aplicaciones. Un buen ejemplo es el control de Login.

<asp:Login ID="Login1" runat="server"></asp:Login>

Antes de comenzar a ver cómo funciona y lo simple que es hacerlo funcional, vamos a ver las propiedades principales que ofrece para adaptarlo a nuestras necesidades.

<asp:Login ID="Login1" runat="server" 
 LoginButtonText="Ingresar" 
 PasswordLabelText="Contraseña:" RememberMeText="Recordarme la proxima vez." TitleText=""
 UserNameLabelText="Usuario:"> 
</asp:Login>

Propiedades que utilizamos son:

  • LoginButtonText : Nos permite modificar el texto del botón.
  • PasswordLabelText : Texto de la solicitud de contraseña.
  • UserNameLabelText : Texto de la solicitud de nombre de usuario.
  • RememberMeText : Texto de recordatorio.

Ahora nuestro control nos queda de esta manera.

Ahora que ya pudimos cambiar el idioma usando las propiedades que nos ofrece el control, vamos a ver cómo le damos funcionalidad a través de sus eventos.

El Evento principal es “Authenticate” ahí evaluamos si el usuario y contraseña provistos son correctos de la siguiente forma: Agregamos el EventHandler onauthenticate="Login1_Authenticate" a nuestro control LOGIN. Ahora quedará de esta forma en el webform.

<asp:Login ID="Login1" runat="server" onauthenticate="Login1_Authenticate" LoginButtonText="Ingresar" PasswordLabelText="Contraseña:" RememberMeText="Recordarme la proxima vez." TitleText=""
UserNameLabelText="Usuario:"> </asp:Login>

Ahora veremos el código que se ejecutará al querer autenticarse.

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) { 
bool Autenticado = false;
Autenticado = LoginCorrecto(Login1.UserName, Login1.Password); 
e.Authenticated = Autenticado; if (Autenticado) {
Response.Redirect("Default.aspx");
}
private bool LoginCorrecto(string Usuario, string Contrasena) { if (Usuario.Equals("maestros") && Contrasena.Equals("delweb"))
return true; return false;
}

En este ejemplo estoy prefijando en el código un usuario y password (“maestros”,”delweb”). En estos casos el método privado “LoginCorrecto” por lo general va a una base de datos donde están almacenados los usuarios y passwords y recién ahí se verifica si es correcto.

Otros controles relacionados a login son:

CreateUserWizard que nos da todas las facilidades para dar de alta nuevos usuarios.

Capítulos del Tutorial

En el próximo capítulo que se publica el martes veremos: Utilización de estilos en ASP.NET (CSS).

Siguiente capítulo: Utilización de estilos en ASP.NET (CSS)

Fernando Giardina para Maestros del Web.
Agrega tu comentario | Enlace permanente al artículo

Síguenos en: @maestros | Fan page

Comentarios

  1. Buenas,

    Comentar que en una ocasión tuve un problema con este control cuando trataba de autenticarse contra un LDAP (Active Directory). El problema estaba porque faltaba un TRIM del login, “login” y “login ” los daba como usuario correcto.

    También puede interesaros diferentes usos del LDAP desde .NET
    http://tectonilogia.com/usos-con-ldap-del-active-directory-desde-net/

  2. Noemi

    buenas tardes seria tan amable de enviar un programa sencillo echo en visual studio C# en entorno windows sobre los recorridos de arboles binarios in orden ,post orden ,preorden y aplicando los grafos el warhall y distraj.. por fa necesito para un deber… por fa…….

Los comentarios de este post están cerrados. Si quieres seguir la discusión, debatir, criticar, sugerir o expandir el tema te invitamos a hacerlo en tu propio blog, en twitter o donde puedas publicar. No olvides enlazar a este post para que sigamos la conversación y se genere un trackback.



Acerca de
Maestros del Web nace cuando intentamos traducir Webmaster al Español. Nacimos orientados al diseño y desarrollo web. Hoy somos un espacio de apoyo para los entusiastas que participan en proyectos en la red.
Leer más de Maestros del Web