viernes, 3 de junio de 2011

Autenticación en aspnet

Ejercicio de como crear una autenticación basica con formularios.

1.) Lo primero que tenemos que hacer es modificar el archivo web config, para quede de la siguiente manera.

1.1) En el tag de 
<system.web> cambie el  elemento autenticación  <authentication mode="Forms">


<authentication mode="Forms">
<forms loginUrl="login.aspx" timeout="2880"/>
 </authentication >


El elemento forms es el que define el comportamiento de nuestro sistema de autenticación. Los atributos de este elemento son los siguientes:
  • name. El nombre de la cookie del navegador que almacena el ticket de acceso. Si no se especifica uno se llamará ASPXAUTH. Por temas de seguridad usaremos un nombre distinto del por defecto.
  • loginUrl. La pagina a la que se enviará a los usuarios no logados de modo automático. Si no se especifica ninguna, se nos enviará a la página login.aspx situada en el directorio raíz de la aplicación Web.
  • timeout. Minutos en los que la cookie tiene validez. Por defecto es de 30 minutos.
  • protection. Especifica la forma en la que se protegen los datos de la cookie. Los valores son All, None, Encryption y Validation, siendo All el valor por defecto. Conviene indicar que, a menos que se indique lo contrario, las cookies se encriptan usando los algoritmos DES o TripleDES, dependiendo del servidor.
1.2)  Configurando el directorio privado.


Ya tenemos configurado el entorno de autenticación. Ahora toca configurar nuestro sitio como privado para que evitar accesos no deseados.
En primer lugar hemos de modificar el archivo web.config. En este archivo hemos de configurar el elemento authorization.


<xml version="1.0" encoding="utf-8" ?>
 <
configuration>
  <
system.web>
   <
authorization>
    <
deny users="?" />
<
allow users="*" />
   </
authorization>
  </
system.web>
 </
configuration>
Dentro de la sección authorization podemos tener los siguientes elementos
  • allow para permitir el acceso a los usuarios.
  • deny para denegar usuarios.
En ambos elementos tenemos el atributo users donde podemos especificar
  • “?” para indicar todos los usuarios anónimos
  • “*” para indicar a todos los usuarios, tanto anónimos como autenticados.
  • Lista de usuarios separada por coma, para indicar a un grupo de usuarios a los que queramos dar o denegar acceso, según el elemento en el que se encuentre.
Con estos cambios ya no podran entrar sin autenticarse.

2.) Creando pagina de login.

       2.1) Agregue un pagina con el nombre de Login.aspx (clic en el menu web site new item)





     2.2) En la pagina agregue un control de login a la pagina.




    2.3) Su pagina se mirara así:



  2.4) Capture el evento Authenticate del control login1 y agregue el código de autenticacion.



Con esto tenemos la validación, podremos dar por terminado este punto, si quiere validarlo con Entity Framework, continue.


 3.) Validando con entity framework.
  
      3.1) Abra su SQL Server Management Studio y ejecute el siguiente codigo, el cual creara su nueva tabla de usuarios.





      3.1) Cree o edite su modelo de entity Framerwok y agregue su tabla recientemente creada, para lograra esto editando su modelo precione clic derecho "Update model from database"



      3.1) Por ultimo cambiaremos el codigo de nuestra pagina de login para que valide con la tabla de la base de datos.

3 comentarios:

jcarvag1 dijo...

Gracias compañero, me sirvio muchisimo, precisamente estoy desarrollando un portal en asp y necesitaba esto.

Nuevamente Gracias

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

hola amigo, si quiero poner una pagina para registrarme o recuperar contraseña no me deja entrar porque me pide login, como hago para poder dar aceso a ciertas pantallas que en este caso serian las de registro y recuperar contraseña??