Ir al contenido principal

Seguridad en ASP.Net Identity 2.0 con Webforms Parte 2 (Owin el primo raro de Identity)



Este post es la segunda parte de una serie que planeo dedicar a ASP.Net Identity 2.0, como el post anterior este post está basado en ÉSTE y fue creado por: Raquel Soares De Almeida.

La razón de hacer una recopilación de este tema basado en algo ya publicado es que el post original esta en Ingles y quizás a algunos se le complique por la barrera del idioma, otra razón es que yo adiciono pequeños detalles que considero necesario reflejar y lo último es que son necesarias estas dos primeras partes para futuras publicaciones que verán acá prontamente, como aplicar filtrados por roles y asignar roles a usuarios, con esto aclarado comencemos nuestro post.

Todos tenemos un primo raro que es algo excéntrico, Identity tiene el suyo y tiene hasta nombre, se llama Owin, el primo Owin. 

El primo Owin es una capa intermedia basada en cookies mediante forms. Realmente es muy pero muy interesante, Owin combinado con Identity hacen muy bien la tarea de darnos la seguridad necesaria para nuestros sites con un nivel aceptable, me gusta mucho que por ejemplo la data sensible siempre esta encriptada (creo que es algoritmo MD5). 

Como el post anterior debemos tomar el gestor NuGet y buscar al primo Owin



Por cosas del Azar casualmente lo ubicó justo debajo del paquete Identity, igual que en el tutorial anterior, verificamos la versión, lo adjuntamos a nuestro proyecto mediante el Checkbox del lado derecho y hacemos click en "Instalar"

También es sumamente importante adicionar mediante el NuGet la librería Microsoft.Owin.Host.SystemWeb, luego que la busquen y verifiquen la versión simplemente adjunten la referencia al proyecto y hacen click nuevamente en "Instalar"

Ahora hacemos click derecho en el proyecto y seleccionamos Agregar -> Nuevo Elemento.



Debemos añadir un Startup de Owin, en la pantalla actual escribimos "Owin" en el filtro de Búsqueda (esquina superior derecha) y filtramos, nos debe aparecer en el listado de elementos un único ítem llamado Owin Startup Class, cambiemos el nombre y llamémosle simplemente Startup, este Startup nos va a permitir crear una pantalla de login de usuarios que mola mucho.



De inmediato tendremos el archivo Startup.cs a nuestra entera disposición para aplicar algunos ajustes para que luego quede de esta forma:


Importante las referencias:
using Microsoft.Owin;
using Microsoft.Owin.Security.Cookies;

Esto es motivado a que el primo Owin es amante de las galletas (cookies).

Tomamos el archivo Register.aspx.cs que debimos hacer en el tutorial anterior (colocar link) y hacemos un ligero ajuste, este ajuste debe incluir la referencia a la librería Owin.Scurity, nuestro código debe lucir así


Añadamos a nuestro proyecto de Asp.Net un nuevo webform al cual llamaremos Login.aspx y le aplicaremos los siguientes ajustes:


y en el Login.aspx.cs


Luego presionamos Ctrl + F5 y probamos nuestra aplicación



Luego de introducir algunos datos nuestra aplicación muy alegre nos dará un cálido mensaje de bienvenida.


Podemos hacer logout y forzamos el ingreso con un usuario inexistente


Y esto esto todo amigos, estos dos primeros posts son apenas un abrebocas para poder explotar el potencial de Identity con Owin, en la próxima entrega jugaremos con los roles. Happy Coding!!!



Comentarios

Entradas populares de este blog

Como trabajar con decimales en ASP.Net MVC 5

Saludos a todos, este blog viene como una mezcla de varias cositas, es un experimento ya que peculiarmente he notado que casi no hay blogs dedicados a tips de programación de .Net en español y ciertamente la barrera de idiomas afecta de alguna manera u otra al desarrollador que busca una solución a sus problemas y la otra vertiente es que simplemente deseo ayudar, ayudar a quienes duran horas o días estancados en problema que quizás se podía resolver en pocas líneas de código, así que ¿Por qué no compartir las experiencias vividas para que otros no tengan tan cuesta arriba resolver alguna dificultad? Esta es mi primera entrada y espero que la disfruten. La pesadilla de todo desarrollador, trabajar con elementos globalizados como fechas y números con decimales, como todos bien saben este siempre es un tema que siempre trae algún que otro problema y que incluso puede quitar horas o días resolverlo, lo bueno es que existen miles de soluciones, algunas requieren líneas de cód...

Seguridad en ASP.Net Identity 2.0 con Webforms Parte 1

¡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. Como siempre me gusta indicar de donde me basé para escribir el post y fue de ACÁ  hay que dar el reconocimiento a la autora original: Raquel Soares De Almeida, es lo justo, claro yo simplemente digiero un poco el post y lo entrego a Ustedes con algunos detalles que el autor original pudo obviar por razones diversas. 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 (...