¡Saludos colegas desarrolladores y afines! En esta ocasión
quiero compartir con Ustedes un pequeño tutorial para trabajar con ASP.Net
Identity 2.0 en Webforms. Este creo que será quizás uno de los más complicados
de hacer, así que tenedme paciencia. Planeo hacer de esta entrada la primera de
varias partes.
En este post en particular voy a ir a lo básico, crear el
proyecto desde cero.
1.- Comenzamos con el clásico menú Archivo -> Nuevo ->
Proyecto.
2.- Continuamos con la siguiente pantalla donde simplemente
seleccionamos bajo la opción de plantillas a la izquierda Visual C#, luego Web
y por último ASP.Net Web Forms Application (claro está además el nombre y ruta
de la solución)
3.- Luego en esta pantalla, la cual es fundamental para
nuestro post notemos varios detalles:
- Primero selecciono un template vacío (vamos, que se ha descubierto que el desarrollador especie lomo plateado trabaja con proyectos de .net vacíos lo vi en Discovery Channel)
- Segundo noten que hay una opción que indica "Authentication: No Authentication" el cual es fundamental mantener así ya que
configuraría nuestro site con la autenticación por default y precisamente no
deseamos eso ahora.
Bien aclarado esto tenemos entonces nuestra pantalla con un
hermoso site tan vacío como el estómago de un desarrollador a las 9 de la
noche.
4.- Ahora tenemos que adicionar el paquete de referencias
correspondiente y esto lo haremos mediante el editor de paquetes de NuGet, hay
dos formas de hacerlo: una es mediante líneas de código (mi favorito) y el otro
mediante el gestor de paquetes. En esta ocasión lo haré desde el gestor.
5.- Una vez hecho click en el menú correspondiente
procedemos a buscar nuestro paquete y para ello tipeamos "Identity"
en nuestra caja de texto y preferiblemente seleccionamos "Todo" de la
lista de selección "Origen del Paquete".
Una vez allí seleccionamos entonces el
Microsoft.AspNet.Identity.EntityFramework, verificamos la versión en la parte inferior de la pantalla y del lado derecho lo aplicamos a
nuestro proyecto haciendo click en el checkbox correspondiente y luego en
"Instalar"
Ya con estas configuraciones básicas terminadas procedemos
entonces a lo que nos interesa.
6.- Adicionamos un webform y lo llamaremos Register.aspx, en
el html de la página adicionamos los siguientes elementos: Tres cajas de texto
(username, password y confirmar password.)
Nuestra página debería lucir así
Noten que en el Button hay el llamado a un evento
CreateUser_Click, este método debe llevar el siguiente código
¡Importante! Deben hacer referencias a las siguientes
librerías:
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
7.- A continuación, procedemos a configurar el acceso a la
base de datos. Para ello configuramos el archivo Web.Config y adicionamos el
connection string al repositorio de datos correspondiente
Es importante que tengan en consideración varias cosas
respecto al Web.Config, la primera es que no lo alimentes luego de las 12 de la
noche, ya en serio, la primera es que elementos como <connectionStrings> y
<appSettings> por mencionar los más comunes siempre pero siempre van
dentro del elemento padre <configuration>
Sé que está de más decirlo, no me odien por colocar usuario
y password de la BD en el connection string así que bajen sus antorchas y
tridentes, lo hago solo por cuestiones didácticas, además todos lo hemos hecho
alguna vez.
8.- definimos nuestra página Register.aspx como página de
inicio de nuestra solución y Ctrl + F5 para correr lo que acabamos de
codificar.
En nuestro entorno de prueba ejecutamos nuestro site y
adicionamos algunos datos dummy, los resultados deberían ser los siguientes:
¡Y aún hay más! Si intentamos repetir el usuario Identity
nos dará un mensaje de error (en inglés, pero se puede cambiar, luego les enseño como, palabra) indicando que
ese login ha sido registrado previamente.
Ya para finalizar esta primera parte (de unas cuantas) ya
que Identity da mucha pero mucha tela para cortar, revisen en su repositorio de
base de datos y hallarán nuevas tablas, es similar a lo que hacía .Net con
Membership donde se registran los usuarios, los roles y la relación entre usuarios
y roles, luego les enseño como jugar con eso.
Comentarios
Publicar un comentario