Deseo utilizar AuthorizeAttribute para controlar a qué usuarios se les permite el acceso a mis acciones. Solo quiero aclarar que mi lógica está en orden.Membresías de ASP.Net MVC
- Creo mi propia implementación de IPrincipal
- puedo enviar las credenciales de un usuario a una acción de acceso de un controlador de seguridad.
- puedo validar las credenciales con una clase UserService y asignar el IPrincipal regresó de mi clase UserService a HttpContext.User
- Mi WebAuthorizeAttribute, que hereda AuthorizeAttribute, comprueba la corriente HttpContext.User.Identity.IsAuthenticated y HttpContext.User.IsInRole para determinar si el usuario tiene acceso a la acción.
¿Es el flujo normal de las cosas? Sé que podría heredar MembershipProvider, pero no necesito toda la funcionalidad, solo la capacidad de iniciar sesión con dos roles diferentes.
He leído un montón de las preguntas y blogs externos, pero ninguno parece realmente a poner toda esta parte en su contexto. – scottm
podría explicar la MyBusinessLayerSecurityClass.CreatePrincipal (id, id.Name) de la porción. No entiendo cómo se obtiene un FormsIdentity si la propiedad HttpContext.Current.User es nula. – scottm