2010-04-29 13 views

risposta

23

Ho trovato che l'esempio migliore per iniziare è Dominick Baiers StarterSTS.

Anche se non lo usi come STS, le esercitazioni sul sito sono un ottimo punto di partenza. Non ci sono tutorial specifici su ASP.NET MVC ma ho funzionato nello stesso modo di un Web Form di ASP.NET.

Così, in breve ...

  1. Scarica WIF e il WIF SDK - http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx
  2. Scarica StarterSTS - http://startersts.codeplex.com/
  3. seguire il video introduttivo STS - https://identity.thinktecture.com/download/startersts/v1/StarterSTS_InitialSetup.wmv
  4. Seguire l'ASP.NET Tutorial http://identity.thinktecture.com/download/starterSTS/v1/StarterSTS_FederatingWebApps.wmv
  5. Creare un nuovo progetto MVC in VS 2010
  6. Fare clic con il pulsante destro del mouse sul progetto, selezionare "Aggiungi riferimento STS" e seguire gli stessi passaggi della procedura guidata dell'applicazione WebForms. (Per aggiungere le informazioni WIF al file web.config.)

Ora, quando si cerca di accedere al tuo MVC app, si utilizza il provider StarterSTS Identità e ti si accede ..

Se si esegue il debug a qualsiasi dei tuoi metodi di controller Vedrai avete un WIF "ClaimsPrincipal" (che implementa IPrincipal e così è compatibile)

una cosa da notare è che il tutorial solo davvero coprono autenticazione.

Per essere in grado di uscire dalla app MVC ...

Aggiungere un riferimento alla Microsoft.IdentityModel

(un "noto" bug è che non compare nel VS2010 Add Finestra di dialogo di riferimento in modo da fare riferimento alla DLL direttamente in C: \ Programmi \ Assiemi di riferimento \ Microsoft \ Windows Identity Foundation \ v3.5 \ Microsoft.IdentityModel.dll)

Nel metodo di LogOff di accountControllers MVC basato su modelli ora è possibile chiama ...

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

dove RP è l'URI della tua Relying Party basata su MVC.

Una volta impostato tutto questo, è possibile utilizzare un altro STS come ADFS (Active Directory Federation Services). (dato che non devi fare altro che riconfigurare la tua app per utilizzarla.)

Come nota a margine, è possibile aggiungere più screen cast allo found here.

Spero che questo aiuti. È tutto un po 'un campo minato :-)

+0

Questo è un grande post, grazie per la condivisione. – Paul

+0

+1 per indicare il bug con VS2010 e un post informativo! Saluti – Craig

2

Una volta capito come funziona WIF con ASP.NET WebForms, dare un'occhiata al posto here per creare un attributo di autorizzazione personalizzato in ASP.NET MVC

Problemi correlati