Blog Null Reference Exception - kategorie WIF
Pokud v ASP.NET aplikaci používáme technologii WIF, zpravidla využíváme HTTP modul SessionAuthenticationModule. Ten se stará o to, že po přihlášení je vytvořeno cookie, které obsahuje serializované claims přihlášeného uživatele a při každém requestu provádí rekonstrukci objektu ClaimsPrincipal z dat obsažených v tomto cookie.
S příchodem .NET Frameworku 4.5 vyjde i nová verze technologie Windows Identity Foundation (WIF). Zatímco verze WIF 1.0 je k dispozici jako samostatný instalační balíček, který obsahuje assembly Microsoft.IdentityModel.dll pro .NET 3.5 nebo 4.0, verze WIF 4.5 je nyní kompletně integrována do .NET Frameworku 4.5. Koukneme se na rozdíly v architektuře a v API.
Pokud používáte ve své aplikaci technologii WIF v současné verzi pro .NET Framework 3.5/4.0 (verze 1.0), brzy zjistíte, že dotazování na claims obsažené v objektu ClaimsIdentity resp. ClaimsPrincipal je poměrně složité (je nutné použít buď LINQ dotaz nebo foreach cyklus).
Po integraci WIF přímo do .NET Frameworku v připravované verzi 4.5 (nyní k dispozici v RC) dojde v tomto k výraznému posunu. A mezitím než se tak stane jsem připravil extension metody, které portují metody nové verze i do verze současné.
V první části jsme tvorbu naší ukázkové webové aplikace pro přístup k souborům skončili tím, že jsme vytvořili Mater Page a dvě stránky Default a Login, které budeme postupně doplňovat. V této části dokončíme stránku Login, přidáme kód pro přihlášení a provedeme potřebné nastavení ve Web.config souboru.
Technologie Windows Identity Foundation (WIF) (dříve také znám pod označením projekt “Geneva”) již nějakou tu chvilku existuje, a to zatím v podobě přídavné knihovny. Dá se předpokládat, že většího rozšíření této technologie se pravděpodobně dočkáme až se stane součástí přímo .NET Frameworku tj. až ve verzi .NET Frameworku 4.5. Dnes si ukážeme pro ní možná trochu netradiční použití - příklad jednoduché webové aplikace, která využívá WIF jako náhradu za Forms autentizaci.
Z vícero zdrojů jsem sepsal seznam chystaných novinek v .NET Framework verze 4.5.