posts - 644, comments - 2003, trackbacks - 137

My Links

News

Raffaele Rialdi website

Su questo sito si trovano i miei articoli, esempi, snippet, tools, etc.

Archives

Post Categories

Image Galleries

Blogs

Links

Windows Identity Foundation è in RTM ma attenzione alla documentazione

Windows Identity Foundation (WIF) [pronunciato "dab ai ef"] è in RTM. Stiamo parlando del progetto che aveva in alfa il nome "Zermatt" e successivamente in beta 1 e 2 "Geneva".

Per chi non conoscesse queste tecnologie WIF è:

  • il nuovo modello di sicurezza di WCF che rimpiazza totalmente il modello ed i claim della versione 3.0 e 3.5. In questo nuovo modello si può conservare il mapping claim <--> ruoli in modo da rendere facile la migrazione del codice esistente
  • un set di tecnologie basate su Claim e sui protocolli standard WS-Trust e WS-Federation, e di conseguenza interoperabile con altre tecnologie di altri sistemi operativi
  • un modo per togliere il processo di autenticazione/autorizzazione dalle applicazioni ed esternalizzarle. Questo porta ad una serie di vantaggi tra cui la scalabilità dei servizi che hanno massicci carichi di autenticazione e controllo dei ruoli
  • C'è molto altro ma per dirla in parole povere, come sviluppatori, project manager o architetti .... ci tocca :)

Chi inizia oggi non deve preoccuparsi di nulla. Go and use it.

Una piccola nota per chi come il sottoscritto ha prodotto un bel po' di codice.
Le modifiche durante tutto il corso delle alfa e beta sono state tante e significative, ma questo è più che ovvio. Fino alla beta 2 le modifiche erano anche ben documentate.
Poi viene annunciata a PDC 2009 la RTM (o RTW come la chiamano ora) e il team blogga i vari documenti. Tra questi un pdf che dovrebbe colmare il gap tra la beta2 e la RTM. Peccato che la documentazione sia totalmente insufficiente e le differenze sono molte di più e non documentate. Prontamente ho aperto un bug di documentazione su connect se qualcuno fosse interessato a votarlo.

Per ricapitolare, WIF è un'iniziativa in cui sono coinvolti questi attori:

  • Il pacchetto di redist che va solo sul server. Viene fornito come .msu (update) per Windows Vista/2008 e Windows 7/2008R2. Il lato client funziona senza dover installare nulla perché WCF è già "federation aware" e non ha bisogno di altri assembly per lavorare con WIF.
    Con gli assembly lato server si possono sviluppare le "Relaying Party" (web app, servizi, etc.) ma anche STS (Secure Token Service) sia di tipo "Identity Provider" che di tipo "Trasformatori di Claim".
  • Il pacchetto SDK (che non contiene quello di redist) destinato agli sviluppatori con help ed esempi.
  • Cardspace 2. Tutt'ora in beta 2 non usa il Framework come la versione 1 di Cardspace in modo da rendere super-snello il suo deploy.
  • ADFS2. È ancora in beta 2 e si chiamava Geneva Server. In pratica è un add-on per Active Directory per far si che AD sia anche un STS per le tecnologie WIF.

Developer Center:
http://msdn.microsoft.com/en-us/security/aa570351.aspx

Redist:
http://www.microsoft.com/downloads/details.aspx?FamilyID=eb9c345f-e830-40b8-a5fe-ae7a864c4d76&displaylang=en

SDK:
http://www.microsoft.com/downloads/details.aspx?familyid=C148B2DF-C7AF-46BB-9162-2C9422208504&displaylang=en

Print | posted on mercoledì 2 dicembre 2009 16:42 |

Feedback

Gravatar

# re: Windows Identity Foundation è in RTM ma attenzione alla documentazione

Io sono entrato fin dalle primissime fasi (nella alpha) di questa tecnologia e i feedback da parte di tutti sono stati sempre valutati con attenzione.
Alcune indicazioni fornite dai beta tester sono state rigettate in quanto il target del team era diverso, ma questo è più che comprensibile.
Al tempo dell'uscita di WCF le priorità erano ovviamente tante altre e quindi credo che la parte Claim sia passata in secondo piano. Questo spiega anche la minore attenzione dei partner e degli early adopters nel dare feedback in quel momento.

Per rispondere alla tua domanda. WCF all'inizio aveva bisogno di dare un modo per eseguire i processi di autenticazione e autorizzazione che andassero oltre al banale controllo password. Il meccanismo c'era ma se lo sono filato in pochissimi.
Non so se negli esami ci fossero domande sui claim di WCF ma è certamente probabile.
Poi dopo che c'è stata adozione su WCF, è cominciato anche ad arrivare feedback sul discorso claim (di cui oggettivamente in pochi avevano bisogno). Oltre a questo altre tecnologie dovevano usare questa tecnologia per armonizzare la federation, la single sign-on e tutto quello che ci gira intorno. Per esempio Live-Id è diventato un STS e questo ha aperto altri requirements.
La rispsota più ovvia è stata quella di ripensare al progetto, semplificarlo (e su questo hanno fatto un ottimo lavoro), e rispondere ai nuovi requisiti.
Il tempo per cambiare rotta IMHO dipende solo dal feedback dei grossi partner. Come dicevo prima è stato necessario prima passare a WCF e poi è iniziato il feedback.

I vantaggi di tutto questo si toccano con mano:
- Si possono mappare i claim sui ruoli e questo significa riusare la membership e i controlli di asp.net oltre che ad usare i controlli a ruoli in WCF. Tutto questo prima *non* si poteva fare!
- puoi svilupparti un tuo STS, cosa che prima era una vera diavoleria
- WS-Trust e WS-Federation sono implementati in modo completo e non è necessario fare salti mortali
- I token saml v2 sono supportati e questo apre all'interoperabilità
- la tecnologia è molto pluggabile e anche da diversi layer. Questo permette di iniettare claim o di modificarli in diversi strati del processo di autenticazione e autorizzazione.

Ciao!
02/12/2009 20:06 | Raffaele Rialdi
Gravatar

# re: Windows Identity Foundation è in RTM ma attenzione alla documentazione

Ah ok. Come dicevo non hanno affatto abbandonato lo sviluppo managed. Loro hanno implementato Cardspace in codice nativo per renderlo supersnello e indipendente dalla versione di Framework installata sul pc.
Il mondo è e sarà mixed, abbi fede e scegli gli strumenti di sviluppo che ti danno dei vantaggi ;)
15/03/2010 19:23 | Raffaele Rialdi
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET