Como crear una Pagina de inicio de sesion con ASP .NET

Introduccion

ASP .NET provee varios metodos usados por una aplicacion para auntenticar a un usuario que solicita el acceso a un recurso restringido estos metodos son:

* Windows
*Forms
*Passport
*None

Para este ejemplo el metodo que se utilizara sera el modo de autenticacion por Forma o Forms Authentication. Los usuarios se validan contra sus credenciales en una fuente de datos. Forms Authentication proporciona un mecanismo muy flexible de definir los diferentes tipos de usuarios y permisos.

Paso a Paso.

Lo primero que se debe hacer como es logico es crear un nuevo proyecto WEB para esto iremos al menu Archivo -> Nuevo -> Sitio web y seleccionamos la Opcion «Sitio Web ASP .NET». Lo siguiente que se debera hacer es cambiar el nombre de WebForm que creaa por defualt Visual Studio «Default.aspx» por «Login.aspx». Despues de haber cambiado el nombre del WebForm añadiremos un control «Login» del cuadro de herraminetas, despues de haber añadido el control Login lo convertiremos en una platilla.

Acontinuacion compilaremos nuestro Sitio web (F5) para que agrege el Archivo Web.config al momento de compilar aparecera un cuadro de dialogo donde preguntara si desea agregar el archivo Web.config:

Lo siguiente es cerrar la aplicacion web y despues abrir el archivo Web.confing desde el explorador de soluciones y a continuacion reemplazar el siguiente codigo:

<authentication mode=«Windows«/>

por el siguiente codigo:

<authentication mode=«Forms«>
<forms name=«.AuthenticationCookie» loginUrl=«Login.aspx» protection=«All» timeout=«60» path=«/«>
<credentials passwordFormat=«Clear«>
<user namebeto0o» password=«123456«/>
<user nameTom» passworrd=«654321«/>
</credentials>
</forms>
</authentication>

Donde los tags  <user namebeto0o» password=«123456«/> en la parte name sera el nombre de usuario con el que se logeara el usuario y password sera la contraseña del usuario.

El siguiente paso es escribir el codigo para validar al usuario que se desee logear en la pagina. Lo primero que debemos hacer es ir al evento Click del boton del control Login que anterior mente agregamos al WenForm y escribier el siguiente Codigo:

protected void LoginButton_Click(object sender, EventArgs e)
{
if (FormsAuthentication.Authenticate(Login1.UserName, Login1.Password))
{
Session[«login»] = «true»;
Login1.FailureText = «Usuario Aceptado»;
Response.Redirect(«Default.aspx»);
}
else
{
Login1.FailureText = «Error al iniciar Sesion»;
}

}

Despues en el Evento Load del WebForm escribimos el siguiente codigo:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session[«login»] = «false»;
}
}

Lo siguiente que se debe hacer es agregar un nuevo formulario web degar el nombre por default «Default.aspx», despues agregar un control Label y en el evento Load del nuevo formulario escribir el siguiente codigo:

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string sesion = Convert.ToString(Session[«login»]);
if (sesion == «true» )
Label1.Text = «Usuario Aceptado»;       }
else{
Label1.Text = «Esta pagina solo puede ser accedida por usuarios registrados»;
}
}

4 Responses to Como crear una Pagina de inicio de sesion con ASP .NET

  1. Jorge Vásconez dice:

    El código me funciona…. sin embargo necesito que el programa busque en una base de datos sus respectivos user name y su password, ya tengo estos registros en SQL, pero no encuentro la forma de enlazar la autentificación con el respectivo registro de username y password!

    Por favor espero su respuesta

    Gracias!

  2. Jaguar dice:

    Heriberto excelente publicacion sencilla y sin tantos rodeos, muy clara y puntual seria muy bueno que siguieras haciendo estos aportes a la comunidad de principiantes de manera tan clara, ya que en la web si hay mucho material pero poco tan claro.
    Mil gracias me ayudo mucho este articulo estare pendiente de mas publicaciones

  3. Alex dice:

    amigo esto es lo que ando buscando pero en visual basic 2008, podrias ayudarme en ello..por favor….
    gracias

  4. estela4 dice:

    gracias por ayudarme soy estudiante de informatica y tengo problemas para hacer un formulario de inicio de sesion gracias

Deja un comentario