2010-04-29 12 views

Respuesta

23

Descubrí que, de lejos, 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 ASP.NET MVC específicamente, pero lo tengo funcionando de la misma manera que un ASP.NET WebForms.

Así que en resumen ...

  1. Descargar WIF y el SDK WIF - http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx
  2. Descarga StarterSTS - http://startersts.codeplex.com/
  3. Siga el video de introducción STS - https://identity.thinktecture.com/download/startersts/v1/StarterSTS_InitialSetup.wmv
  4. seguir el tutorial ASP.NET http://identity.thinktecture.com/download/starterSTS/v1/StarterSTS_FederatingWebApps.wmv
  5. Crear un nuevo proyecto MVC en VS 2010
  6. 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 añadir la información de WIF a su archivo web.config.)

Ahora, cuando usted trata de iniciar sesión en su aplicación MVC, va a utilizar el proveedor StarterSTS Identidad y va a iniciar la sesión en ..

Si se depura en cualquiera de sus métodos de controlador que ahora va a ver que tiene un WIF "ClaimsPrincipal" (que implementa IPrincipal y por lo tanto es compatible hacia atrás)

una cosa a destacar es que los tutoriales sólo cubren realmente autenticación.

Para poder cerrar la sesión desde la aplicación MVC ...

Añadir una referencia a microsoft.identityModel

(un error "conocido" es que no aparece en el VS2010 Agregar Diálogo de referencia, por lo que debe hacer referencia directamente al dll en C: \ Archivos de programa \ Conjuntos de referencia \ Microsoft \ Windows Identity Foundation \ v3.5 \ Microsoft.IdentityModel.dll)

En el método templado MVC AccountControllers LogOff ahora puede llame al ...

WSFederationAuthenticationModule.FederatedSignOut(null, new Uri("https://RP/")); 

donde RP es el URI de su propia fiesta de confianza basada en MVC.

Una vez que tenga todo esto configurado, usar otro STS como ADFS (Servicios de federación de Active Directory) es fácil. (Como no necesita hacer nada más que reconfigurar su aplicación para usarla).

Como nota al margen, más pantallas pueden ser found here.

Espero que esto ayude. Es todo un campo minado :-)

+0

Este es un gran post, gracias por compartir. – Paul

+0

+1 para señalar el error con VS2010 y una publicación informativa. aclamaciones – Craig

2

vez que entienda cómo funciona WIF con ASP.NET Web Forms, echar un vistazo en el puesto here para crear un atributo de autorización personalizado en ASP.NET MVC

Cuestiones relacionadas