Konfiguracja Claims Based Authentication dla Microsoft SharePoint 2010 Spis treści 1 Opis usługi... 2 2 Utworzenie bazy danych... 3 3 Tworzenie nowej aplikacji SharePoint... 4 4 Tworzenie zbioru witryn... 5 5 Modyfikacja pliku web.config dla aplikacji Administracji Centralnej... 6 5.1 connectionstrings... 6 5.2 system.web... 6 5.3 PeoplePickerWildcards... 8 6 Modyfikacja pliku web.config dla SecurityTokenService... 9 6.1 connectionstring... 9 6.2 system.web... 9 7 Modyfikacja pliku web.config dla nowoutworzonej aplikacji... 11 7.1 connectionstring... 11 7.2 rolemanager... 11 7.3 membership... 12 7.4 PeoplePickerWildcards... 13 8 Przypisanie użytkowników do puli aplikacji... 14 www.lgbs.pl LGBS Polska sp. z o.o. 1 / 15
1 Opis usługi Wykorzystanie mechanizmu Claims Based Authentication pozwala na pobranie informacji potrzebnych do uwierzytelnienia użytkownika w SharePoint 2010 z innych źródeł, takich jak baza ASP.NET czy LDAP. Niniejszy dokument przedstawia wykorzystanie bazy danych ASP.NET jako źródła informacji wymaganych do uwierzytelnienia użytkownika w środowisku SharePoint 2010. www.lgbs.pl LGBS Polska sp. z o.o. 2 / 15
2 Utworzenie bazy danych Należy uruchomid Kreatora tworzenia nowej bazy danych użytkowników. W tym celu należy uruchomid plik na serwerze bazodanowym, który znajduje się w lokalizacji: C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe Po utworzeniu bazy danych możemy utworzyd testowych użytkowników przy pomocy bezpłatnego narzędzia: http://cks.codeplex.com/releases/view/7450 www.lgbs.pl LGBS Polska sp. z o.o. 3 / 15
3 Tworzenie nowej aplikacji SharePoint Podczas tworzenia nowej aplikacji SharePoint należy zaznaczyd opcje jak poniżej: www.lgbs.pl LGBS Polska sp. z o.o. 4 / 15
4 Tworzenie zbioru witryn Po utworzeniu aplikacji SharePoint należy utworzyd nowy Site Collection dla nowoutworzonej aplikacji SharePoint. www.lgbs.pl LGBS Polska sp. z o.o. 5 / 15
5 Modyfikacja pliku web.config dla aplikacji Administracji Centralnej Należy zmodyfikowad następujące wpisy w pliku: C:\inetpub\wwwroot\wss\VirtualDirectories\..\web.config 5.1 connectionstrings W pliku należy znaleźd wpis </configsections> i bezpośrednio pod nim wkleid wpis odpowiednio zmodyfikowany względem bazy danych użytkowników: <connectionstrings> <add connectionstring="data Security=SSPI;Initial providername="system.data.sqlclient" /> </connectionstrings> name="aspnetsqlmembershipprovider" source=sql.sharepoint.com;integrated Catalog=aspnetdb" gdzie: sql.sharepoint.com nazwa serwera MSSQL aspnetdb nazwa bazy danych Należy pamiętad aby w bazie danych nadad uprawnienia dla konta farmy SharePoint a. Plik po edycji powinien wyglądad następująco: 5.2 system.web W pliku należy znaleźd wpis <system.web> i bezpośrednio pod nim wkleid wpis: <rolemanager enabled="true" cacherolesincookie="false" cookiename=".aspxroles" cookietimeout="30" cookiepath="/" cookierequiressl="false" cookieslidingexpiration="true" www.lgbs.pl LGBS Polska sp. z o.o. 6 / 15
cookieprotection="all" defaultprovider="aspnetwindowstokenroleprovider" createpersistentcookie="false" maxcachedresults="25"> <providers> <add connectionstringname="aspnetsqlmembershipprovider" applicationname="/" name="sqlrole" type="system.web.security.sqlroleprovider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add applicationname="/" name="aspnetwindowstokenroleprovider" type="system.web.security.windowstokenroleprovider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </rolemanager> <membership defaultprovider="sqlmember" userisonlinetimewindow="15" hashalgorithmtype=""> <providers> <add connectionstringname="aspnetsqlmembershipprovider" enablepasswordretrieval="false" enablepasswordreset="true" requiresquestionandanswer="true" passwordattemptwindow="10" applicationname="/" requiresuniqueemail="false" passwordformat="hashed" name="sqlmember" type="system.web.security.sqlmembershipprovider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </membership> Koniecznie należy sprawdzid czy tagi <rolemanager> oraz </membership> występują tylko raz (w przypadku kiedy znajduje się więcej wpisów o podanych tagach, to należy je usunąd). Wynikowy plik powinien wyglądad następująco: www.lgbs.pl LGBS Polska sp. z o.o. 7 / 15
5.3 PeoplePickerWildcards W pliku należy znaleźd wpis <PeoplePickerWildcards> i bezpośrednio pod nim wkleid wpis: <add key="aspnetsqlmembershipprovider" value="%" /> <add key="sqlmember" value="%"/> <add key="sqlrole" value="%"/> Plik po edycji powinien wyglądad następująco: www.lgbs.pl LGBS Polska sp. z o.o. 8 / 15
6 Modyfikacja pliku web.config dla SecurityTokenService Należy zmodyfikowad następujące wpisy w pliku: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\WebServices \SecurityToken\web.config 6.1 connectionstring W pliku należy znaleźd wpis </configsections> i bezpośrednio pod nim wkleid wpis odpowiednio zmodyfikowany do bazy danych użytkowników: <connectionstrings> <add connectionstring="data Security=SSPI;Initial providername="system.data.sqlclient" /> </connectionstrings> name="aspnetsqlmembershipprovider" source=sql.sharepoint.com;integrated Catalog=aspnetdb" gdzie: sql.sharepoint.com nazwa serwera MSSQL aspnetdb nazwa bazy danych Należy pamiętad aby w bazie danych nadad uprawnienia dla konta farmy SharePoint a. Wynikowy plik powinien wyglądad następująco: 6.2 system.web W pliku należy znaleźd wpis </connectionstrings> i pod nim wkleid wpis: <system.web> <membership> <providers> <add connectionstringname="aspnetsqlmembershipprovider" enablepasswordretrieval="false" enablepasswordreset="true" requiresquestionandanswer="true" passwordattemptwindow="10" applicationname="/" www.lgbs.pl LGBS Polska sp. z o.o. 9 / 15
requiresuniqueemail="false" passwordformat="hashed" name="sqlmember" type="system.web.security.sqlmembershipprovider, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </membership> System.Web, <rolemanager enabled="true"> <providers> <add connectionstringname="aspnetsqlmembershipprovider" applicationname="/" name="sqlrole" type="system.web.security.sqlroleprovider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers> </rolemanager> </system.web> Wynikowy plik powinien wyglądad następująco: www.lgbs.pl LGBS Polska sp. z o.o. 10 / 15
7 Modyfikacja pliku web.config dla nowoutworzonej aplikacji Należy zmodyfikowad następujące wpisy w pliku: C:\inetpub\wwwroot\wss\VirtualDirectories\..\web.config gdzie oznacza nazwę ścieżki puli aplikacji IIS a. 7.1 connectionstring W pliku należy znaleźd wpis </configsections> i bezpośrednio pod nim wkleid wpis odpowiednio zmodyfikowany do bazy dancych: <connectionstrings> <add connectionstring="data Security=SSPI;Initial providername="system.data.sqlclient" /> </connectionstrings> name="aspnetsqlmembershipprovider" source=sql.sharepoint.com;integrated Catalog=aspnetdb" gdzie: sql.sharepoint.com nazwa serwera MSSQL aspnetdb nazwa bazy danych Należy pamiętad, aby w bazie danych nadad uprawnienia dla konta farmy SharePoint a. Wynikowy plik powinien wyglądad następująco: 7.2 rolemanager W pliku należy znaleźd wpis rolemanager i zamienid go na następujący wpis: <rolemanager enabled="true" cacherolesincookie="false" cookiename=".aspxroles" cookietimeout="30" www.lgbs.pl LGBS Polska sp. z o.o. 11 / 15
cookiepath="/" cookierequiressl="false" cookieslidingexpiration="true" cookieprotection="all" defaultprovider="c" createpersistentcookie="false" maxcachedresults="25"> <providers> <add connectionstringname="aspnetsqlmembershipprovider" applicationname="/" name="aspnetsqlroleprovider" type="system.web.security.sqlroleprovider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add applicationname="/" name="sqlrole" type="system.web.security.windowstokenroleprovider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add name="c" type="microsoft.sharepoint.administration.claims.spclaimsauthroleprovider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> </providers> </rolemanager> 7.3 membership W pliku należy znaleźd wpis membership i zamienid go na następujący wpis: <membership defaultprovider="i" userisonlinetimewindow="15" hashalgorithmtype=""> <providers> <add connectionstringname="aspnetsqlmembershipprovider" enablepasswordretrieval="false" enablepasswordreset="true" requiresquestionandanswer="true" passwordattemptwindow="10" applicationname="/" requiresuniqueemail="false" passwordformat="hashed" name="sqlmember" type="system.web.security.sqlmembershipprovider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add name="i" type="microsoft.sharepoint.administration.claims.spclaimsauthmembershipprov ider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> </providers> </membership> www.lgbs.pl LGBS Polska sp. z o.o. 12 / 15
7.4 PeoplePickerWildcards W pliku należy znaleźd wpis <PeoplePickerWildcards> i pod nim wkleid wpis: <add key="aspnetsqlmembershipprovider" value="%" /> <add key="sqlmember" value="%"/> <add key="sqlrole" value="%"/> Wynikowy plik powinien wyglądad następująco: www.lgbs.pl LGBS Polska sp. z o.o. 13 / 15
8 Przypisanie użytkowników do puli aplikacji Aby przypisad uprawnienia dla użytkowników z bazy danych należy dodad ich jako uprawnionych do aplikacji SharePoint. Aby to zrobid należy: Wejśd do administracji centralnej Wejśd do Application Management Wejśd do Manage Web Applications Wybrad nowo utworzoną aplikację Nacisnąd User Policy Nacisnąd Add Users Nacisnąd Next Nacisnąd ikonę Address Book Wyszukad użytkowników (lub gupę) z bazy dancyh którym nadad uprawnienia Nacisnąd Add Nacisnąd OK Wybrad poziom uprawnieo www.lgbs.pl LGBS Polska sp. z o.o. 14 / 15
www.lgbs.pl LGBS Polska sp. z o.o. 15 / 15