Mehr von Jürgen Gutsch

Mehr von Jürgen Gutsch

Empfehlungen von Jürgen Gutsch

Blog-Empfehlungen von Jürgen Gutsch

Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe

Jürgen Gutsch

ASP.NET und mehr...
BASTA! Tag 3: Windows Identity Foundation

Erster Hinweis von Dominick Baier (thinktecture) zu Windows Identity Foundation ist, dass WIF als Windows Update kommt und ein Teil von Windows sein wird. Also im Prinzip das neue Windows Security System, ohne ein Teil von .NET zu sein.

Über die Beschreibung der klassischen Identifizierungsmöglichkeiten von .NET 1.0 bis hin zu .NET 3.0 leitet Dominick über zu WIF.

Neu an der Art wie WIF arbeitet ist: Sogenannte Claims beschreiben Sicherheitfeatures. Beispiel Rollen, Gruppen, Berechtigungen sind Claims. Claim ist im Prinzip die Basisklasse aller Sicherheitsobjekte. Mit WIF lassen sich auf diese Art beliebige Security-Systeme abbilden, bzw. nachbilden. Um dieses Konzept wurde mit WIF ein neues Framework gebaut.

WIF liefert einen neue Assembly “Microsoft.IdentityModel”. WIF liefert auch zwei neue Inderfaces IClaimsIdentity und IClaimsPrincipal. Wenn man genau nachschaut, sieht man das diese beiden Interfaces von IIdentity und IPrincipal erben, was den Vorteil hat, dass WIF abwärtskompatibel ist. WIF erweitert diese beiden klassischen Interfaces mit Eigenschaften, die die vorhandenen Interfaces um einiges flexibler machen.

WIF wird dadurch sehr flexibel um Identities, bzw. genauer: ClaimsIdentities zu beschreiben. Desweiteren liefert WIF diverse Handler (TokenHandler) um Identities von Systemen wie AD, aus dem HttpContext, etc, in ClaimsIdentities zu konvertieren. Der TokenHandler ließt die Eigenschaften aus, erstellt entsprechende Claims und erstellt mit diesen eine ClaimsIdentity. Aus dieser ClaimsIdentity wird ein ClaimsPrinciple erzeugt der dann in der Anwendung genutzt werden kann.

In ASP.NET wird WIF über HttpModule aktiviert und gesteuert. Innerhalb von ASP.NET wird dann ebenfalls mit ClaimsIdentities und ClaimsPrinciples gearbeitet. Alte Anwendungen müssen für WIF nicht umgeschrieben werden, außer die Registrierung der Module in der Web.Config, da die Identities und Principles ja abwärtskompatibel sind.

Die Möglichkeiten von WIF sind so flexibel und umfangreich und ist auf jeden Fall einen separaten Blogbeitrag wert, nachdem ich mal etwas damit herumgespielt habe.

Und was ist mit Single Sign-On? SSO hat im Prinzip nichts mit WIF zu tun, sondern um SSO zu unterstützen muss einfach ein anderer TokenHandler genutzt werden. Für SSO wird z. B: ein SAML-Token genutzt, der von einem Identity Provider (wie z. B: Windows Live Login) geliefert wird. Der Token Handler erzeigt anhand des Tokens dann wie oben beschrieben ein ClaimsIdentity Objekt. Es kann jeder beliebige Security Token Service als Identity Provider genutzt werden, wichtig ist nur das ein TokenHandler existiert, der das Token verarbeiten kann.

DotNetKicks-DE Image
Posted: Mittwoch, 24. Februar 2010 15:46 von Jürgen Gutsch

Kommentare

Keine Kommentare

Anonyme Kommentare sind nicht zugelassen