Permalink

off

Claims Based Identity in SharePoint 2010 ausprobieren

Wie an den Collaboration Days 2011 von letzter Woche angesprochen, hier die Anleitung wie man in einer Testumgebung mit Claims Based Identity „spielen“ kann ohne das man sich einen „Issuer“ installiert und konfiguriert. Diese Anleitung benutzt den LDAP Membership und Role Provider der mit SPS Server 2010 mitgeliefert wird und benutzt den Active Directory Domain Services um die Benutzer und Gruppen zu autorisieren.

Um dieser „Schritt um Schritt“ Anleitung zu folgen werden neben dem SharePoint Server 2010  folgende Annahmen getroffen. Sie haben einen Domain Controller mit dem Domänen Root „contoso.com“ und Benutzer im „userContainer“. Selbstredend müssen die entsprechenden Anpassungen an den Konfiguration für:

  • Server und userContainer Atribute für den Role Provider
  • Server und groupContainer für den Memebership Provider

entsprechend Ihrer Umgebung gemacht werden gemacht werden.

Eine neue Web Application mit Claimes based Authentication anlegen
1: In Central Administration -> Application Management -> Manage web applications im Ribbon auf “New” klicken um eine neue Web Application zu erstellen.

2: In der „Create New Web Application” Seite, im Authentication Abschnitt auf Claims Based Authentication klicken.

3: Im IIS Web Site Abschnitt eine neue IIS Web Seite erstellen lassen und einen Namen, sowie den Port, dafür eingeben. Zusätzlich hier noch die URL in der Host Header Box definieren etwa „claims.contoso.com“.

4: In der Security Configuration SSL aktivieren oder deaktivieren. Allow Anonymous auf „No“ setzten.

5: In der Identity Providers Sektion, “Enable Windows Authentication” aktivieren und im drop-down menu “NTLM” auswählen.

6: Um “forms-based authentication” zu aktivieren, klickt man auf “Enable Forms Based Authentication (FBA)”. Danach die „ASP.NET Membership provider und Role Manager“-Namen eintragen. Diese sind:

  • LdapMembershipProvider
  • LdapRoleProvider

7: In der “Sign In Page URL” Sektion die “Default Page” auswählen.

8: In der Public URL Sektion die URL eintragen: http:// claims.contoso.com/

9: Danach einen neuen Application Pool erstellen

10: Im „Service Application Connections“ alles auf “default” belassen.

11: “Customer Experience Improvement Program” auf “No” oder “Yes” setzten und mit OK die neue Web App erstellen.

Form-based Authentication Unterstützung konfigurieren
1: Im Windows Explorer zum “root directory” der Central Administration navigieren und die Datei “web.config” in einem Text Editor öffnen.
2: Das folgende XML gleich nach dem <system.web> Element hineinkopieren:

<membership>
 <providers>
 <add name="LdapMembershipProvider"
 type="Microsoft.Office.Server.Security.LdapMembershipProvider,  Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,  PublicKeyToken=71e9bce111e9429c"
 server="contoso.com"
 port="389"
 useSSL="false"
 userDNAttribute="distinguishedName"
 userNameAttribute="sAMAccountName"
 userContainer="CN=Users,DC=contoso,DC=com"
 userObjectClass="person"
 userFilter="(ObjectClass=person)"
 scope="Subtree"
 otherRequiredUserAttributes="sn,givenname,cn" />
 </providers>
 </membership>
 <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
 <providers>
 <add name="LdapRoleProvider"
 type="Microsoft.Office.Server.Security.LdapRoleProvider,  Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,  PublicKeyToken=71e9bce111e9429c"
 server="contoso.com"
 port="389"
 useSSL="false"
 groupContainer="CN=Users,DC=contoso,DC=com"
 groupNameAttribute="cn"
 groupNameAlternateSearchAttribute="samAccountName"
 groupMemberAttribute="member"
 userNameAttribute="sAMAccountName"
 dnAttribute="distinguishedName"
 groupFilter="(ObjectClass=group)"
 userFilter="(ObjectClass=person)"
 scope="Subtree" />
 </providers>
 </roleManager>

3: Speichern und Schliessen

Security Token Service für Form Based Authentication konfigurieren
1: In den „Administrative Tools“ des Servers den „Internet Information Services (IIS) Manager“ starten. Dort den „Server node“ und danach den „Site node“ erweitern.

2: Dort den „SharePoint Web Services node” erweitern und dann auf „SecurityTokenServiceApplication“ klicken. In der Action pane (rechts) auf den Link „explore“ klicken. Dort das „web.config“ file suchen und in einem Text Editor öffnen.

3: Folgenden XML Konfiguration gleich nach dem </system.net> Element hineinkopieren:

<membership>
 <providers>
 <add name="LdapMembershipProvider"
 type="Microsoft.Office.Server.Security.LdapMembershipProvider,  Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,  PublicKeyToken=71e9bce111e9429c"
 server="contoso.com"
 port="389"
 useSSL="false"
 userDNAttribute="distinguishedName"
 userNameAttribute="sAMAccountName"
 userContainer="CN=Users,DC=contoso,DC=com"
 userObjectClass="person"
 userFilter="(ObjectClass=person)"
 scope="Subtree"
 otherRequiredUserAttributes="sn,givenname,cn" />
 </providers>
 </membership>
 <roleManager enabled="true">
 <providers>
 <add name="LdapRoleProvider"
 type="Microsoft.Office.Server.Security.LdapRoleProvider,  Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,  PublicKeyToken=71e9bce111e9429c"
 server="contoso.com"
 port="389"
 useSSL="false"
 groupContainer="CN=Users,DC=contoso,DC=com"
 groupNameAttribute="cn"
 groupNameAlternateSearchAttribute="samAccountName"
 groupMemberAttribute="member"
 userNameAttribute="sAMAccountName"
 dnAttribute="distinguishedName"
 groupFilter="(ObjectClass=group)"
 userFilter="(ObjectClass=person)"
 scope="Subtree" />
 </providers>
 </roleManager>

4: Speichern und Schliessen

Die neue Web Application für Form Based Authentication konfigurieren
1: Im Windows Explorer zum “root directory” der Central Administration navigieren und die Datei “web.config” in einem Text Editor öffnen.

2: Das folgende XML gleich nach

<roleManager>
 <provider>
 hineinkopieren:
 <add name="LdapRoleProvider"
 type="Microsoft.Office.Server.Security.LdapRoleProvider,  Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,  PublicKeyToken=71e9bce111e9429c"
 server="contoso.com"
 port="389"
 useSSL="false"
 groupContainer="CN=Users,DC=contoso,DC=com"
 groupNameAttribute="cn"
 groupNameAlternateSearchAttribute="samAccountName"
 groupMemberAttribute="member"
 userNameAttribute="sAMAccountName"
 dnAttribute="distinguishedName"
 groupFilter="(ObjectClass=group)"
 userFilter="(ObjectClass=person)"
 scope="Subtree" />
 3: Weiter folgendes XML gleich nach
 <membership>
 <provider>
 hineinkopieren:
 <add name="LdapMembershipProvider"
 type="Microsoft.Office.Server.Security.LdapMembershipProvider,  Microsoft.Office.Server, Version=14.0.0.0, Culture=neutral,  PublicKeyToken=71e9bce111e9429c"
 server="contoso.com"
 port="389"
 useSSL="false"
 userDNAttribute="distinguishedName"
 userNameAttribute="sAMAccountName"
 userContainer="CN=Users,DC=contoso,DC=com"
 userObjectClass="person"
 userFilter="(ObjectClass=person)"
 scope="Subtree"
 otherRequiredUserAttributes="sn,givenname,cn" />

4: Speichern und Schliessen

Neue User Policy erstellen
1: In Central Administration zu -> Application Management -> Manage web applications navigieren. Die Web Application „claims.contoso.com“ auswählen und im Ribbon auf “User Policy” klicken.
2: Im Fenster „Policy for Web Application“ auf „Add User“ klicken
3: Die „Default Zone“ auswählen und dann das Adressbuch auswählen. Jetzt sieht man schon den neuen „Claims-based People Picker“

4: Die entsprechenden Benutzer auswählen

5: Speichern und zur gewählten URL navigieren. Dort kann man nun den Identity Provider auswählen.

Diesen Artikel habe ich für den SharePoint Advent 2011 geschrieben. Wie bereits erwähnt: Wer Lust auf gute Artikel und Geschenke hat sollte dringend diesen Blog ebenfalls abonieren.

Autor: Christoph Müller

Christoph Müller ist Consultant, Blogger und Podcaster rund ums Thema SharePoint, Digital Transformation, Cloud, Mobile und Netzpolitik.

Kommentare sind geschlossen.