.net - net - Aplicación de ejemplo de Windows Identity Foundation MVC
windows identity foundation windows 10 (4)
¿Hay una aplicación de ejemplo para usar WIF con una aplicación MVC de ASP.NET? ¿Puede alguien ayudarme a comenzar a tratar de integrar ambas tecnologías?
Descubrí que, con mucho, el mejor ejemplo para comenzar es Dominick Baiers StarterSTS.
Incluso si no usa eso como su STS, los tutoriales en el sitio son un excelente punto de partida. No hay tutoriales de ASP.NET MVC específicamente, pero lo tengo funcionando de la misma forma que en los formularios web de ASP.NET.
Así que en resumen ...
- Descargue WIF y el SDK de WIF: http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx
- Descargar StarterSTS - http://startersts.codeplex.com/
- Siga el video introductorio de STS: https://identity.thinktecture.com/download/startersts/v1/StarterSTS_InitialSetup.wmv
- Siga el tutorial de ASP.NET http://identity.thinktecture.com/download/starterSTS/v1/StarterSTS_FederatingWebApps.wmv
- Crear un nuevo proyecto MVC en VS 2010
- En el proyecto, haga clic con el botón derecho, seleccione "Agregar referencia STS" y siga los mismos pasos del asistente que la aplicación WebForms. (para agregar la información WIF a su archivo web.config).
Ahora, cuando intentes iniciar sesión en tu aplicación MVC, usarás el proveedor de identidad StarterSTS y te iniciará sesión.
Si realiza una depuración en cualquiera de los métodos de su controlador, ahora verá que tiene un "ClaimsPrincipal" WIF (que implementa IPrincipal y, por lo tanto, es compatible con versiones anteriores)
Una cosa a tener en cuenta es que los tutoriales solo cubren realmente la autenticación.
Para poder salir de la aplicación MVC ...
Agregar una referencia a Microsoft.IdentityModel
(un error "conocido" es que no aparece en el cuadro de diálogo Agregar referencia de VS2010, por lo que debe hacer referencia a la dll directamente en C: / Archivos de programa / Referencias de referencia / Microsoft / Windows Identity Foundation / v3.5 / Microsoft. IdentityModel.dll)
En el método de cierre de sesión de MVC AccountControllers LogOff ahora puede llamar ...
WSFederationAuthenticationModule.FederatedSignOut(null, new Uri("https://RP/"));
donde RP es el URI de tu propio Relying Party basado en MVC.
Una vez que haya configurado todo esto, usar otro STS como ADFS (Servicios de federación de Active Directory) es fácil. (ya que no necesita hacer nada más que reconfigurar su aplicación para usarla).
Como nota al margen, se pueden encontrar más lanzamientos de pantalla aquí .
Espero que esto ayude. Todo es un campo minado :-)
Hay un artículo breve y de alto nivel que debería cubrir lo básico here .
Para el código de muestra real, el Kit de capacitación para desarrolladores de Identity de Microsoft incluye ejemplos en ASP.NET (así como Silverlight y más).
Además, Microsoft publicó un extenso PDF llamado "Una guía rápida para el control de identidad y acceso basado en reclamaciones", que debería ser una referencia útil (capítulo 3).
Se puede encontrar un ejemplo simple de MVC + WIF en el capítulo "Federación con múltiples socios" de la guía mencionada anteriormente. El enlace directo está aquí: http://msdn.microsoft.com/en-us/library/ff359105(v=PandP.10).aspx
Los conceptos básicos de cómo funciona están documentados aquí: http://blogs.msdn.com/b/eugeniop/archive/2010/04/03/wif-and-mvc-how-it-works.aspx
Una vez que entienda cómo funciona WIF con los formularios web de ASP.NET, eche un vistazo a la publicación here para crear un atributo de autorización personalizado en ASP.NET MVC