ASP.NET Forms Authentication y OWIN Forms Authentication

Jul 30, 2014 9:00:00 AM / by daniel.comas

  

Ya hace un tiempo salió la primera versión de la nueva forma de gestión y autenticación de usuarios, roles, perfiles... (ASP.NET Identity) Dejando atrás al sistema Membership. Los motivos de este cambio son:

 

- Hacer más modulable el sistema

- Personalización própia

- Más testeable

- Base de datos más limpia

 

Con ASP.NET Forms para generar un ticket de autenticación hacíamos (internamente, aunque utilizaramos el control <asp:Login>:

FormsAuthentication.SetAuthCookie(model.UserName, true);

 

o añadíamos una cookie al contexto de la aplicación con la clase FormsAuthenticationTicket

 

  

Ahora la forma de trabajar debería ser la de utilizar el módulo de OWIN (para saber más sobre que es OWIN, clase Startup etc... en el post del blog variablenotfound) y trabajar con OWIN context.

Entrando en materia, la validación por cookies / Login sería:

 

Dim authenticationManager = HttpContext.Current.GetOwinContext().Authentication
Dim userIdentity = userManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie)

authenticationManager.SignIn(New AuthenticationProperties() With { _
.IsPersistent = False _
}, userIdentity)

 

 y Logout:

 

Dim authenticationManager = HttpContext.Current.GetOwinContext().Authentication
authenticationManager.SignOut()

 

 

Como estamos viendo utilizamos siempre el contexto OWIN. Importante tener en cuenta que si tenemos un SITE A con este tipo de Autenticación y otro SITE B, automáticamente si no hemos especificado que las cookies sean diferentes, hará una validación Single Sign On. Realmente esto es más interesante que problemático. 

 

Comentar que podemos tener diferentes tipos de autenticación, cookies y oauth bearer token por ejemplo y que para nosotros sea transparente, sólo activando los módulos OWIN pertinentes. En el próximo post hablaremos un poco más sobre eso.

 

Topics: ASP, Autenticacion, .NET, OWIN, Programación

daniel.comas

Written by daniel.comas

Lists by Topic

see all
Servicios gestionados

Categorías

Ver todas