jak skonfigurować uwierzytelnianie oparte na formularzach (FBA)
ten post jest zaadaptowany z bloga, który uważam za najwyższy autorytet w konfiguracji FBA, napisany przez Chrisa Coulsona,
przeczytaj najwyższy autorytet tutaj dla 2016 i tutaj dla 2013
2010 – zobacz kroki 2013, upewnij się, że aplikacja internetowa 2010 używa uwierzytelniania opartego na oświadczeniach, a następnie po tym, że wszystko jest takie samo, nie można używać klasycznej aplikacji internetowej.
Uwaga: dzięki tej metodzie nie musisz modyfikować sieci.konfiguracja centralnego administratora lub dowolnej aplikacji internetowej, obecnej lub przyszłej. Musisz tylko zmodyfikować maszynę.config i www.Konfiguracja usług internetowych Securitytokenserviceaplikacja.
więc; jest to preferowana metoda. Istnieją inne metody, które pozwalają modyfikować sieć centralnego administratora.config, www.konfiguracja każdej aplikacji internetowej oraz aplikacji security token service.config; ale, kto chce, aby przejść do wszystkich tych kłopotów. I muszą powtarzać dla każdej nowej aplikacji internetowej, nie mniej. Jestem leniwy i wolałbym, aby FBA było możliwe w każdej przyszłej i obecnej aplikacji internetowej. Jestem też bardzo szkicowy, gdy myślę o modyfikacji centralnej sieci administracyjnej.config; dlatego metoda szczegółowo opisana na blogu Chrisa Coulsona jest optymalna.
kroki wysokiego poziomu
- Utwórz bazę danych, uruchamiając aspnet_regsql.exe Znalezione w c:\windows\Microsoft.NET\Framework64\v4.0.30319\
- Twórz kopie zapasowe wszystkich plików, które zamierzasz zmodyfikować, np. maszyny.config, www.konfiguracja Bezpieczeństwatokenserviceaplikacja
- dokonuj edycji, zwracając szczególną uwagę na sekcje, w których się znajdujesz. Podczas modyfikowania sekcji dostawcy członkostwa i sekcji dostawcy roli upewnij się, że nie modyfikujesz sekcji dostawcy profilu
- zaktualizuj dostawcę autoryzacji aplikacji internetowej
- zainstaluj odpowiednie rozwiązanie FBAPack, aby ułatwić zarządzanie użytkownikami
- 2016 – https://www.visigo.com/products/sharepoint-fba-pack/download/
- 2013 – przejdź do strony visigo po najnowszą stabilną wersję tego bezpłatnego pobrania
- 2010 – przejdź do strony visigo po najnowszą stabilną wersję tego bezpłatnego pobrania
- Zaloguj się za pomocą Windows creds i dodaj użytkownika FBA, a następnie sprawdź, czy różne menu pracy, i że można zalogować się z użytkownikiem FBA
bardziej szczegółowe kroki
Tworzenie bazy danych przez uruchomienie aspnet_regsql.exe
- Zaloguj się do serwera SharePoint
- przejdź do c:\windows\Microsoft.NET\Framework64\v4.0.30319\
- Uruchom aspnet_reqsql.exe jako administrator
- po ASP.NET otwiera się kreator konfiguracji SQL, przeczytaj informacje, a następnie kliknij Dalej, Jak szef!
- na ekranie Wybierz opcję konfiguracji Użyj domyślnego wyboru „Configure SQL Server for application services” i kliknij Dalej, ponownie kliknij to jak szef!
- na ekranie” Wybierz serwer i bazę danych ” wprowadź Alias dla swojego serwera SQL lub nazwę serwera SQL, jeśli Boże broń, nie używałeś aliasu podczas konfigurowania farmy, i
- Zaakceptuj domyślną nazwę bazy danych <>. Jeśli zmienisz nazwę bazy danych, upewnij się, że zaktualizowałeś nazwę we wpisie do komputera.config connection string w nadchodzących krokach. Ten post zakłada, że opuściłeś< domyślną > nazwę, jak pokazano na następnym zrzucie ekranu. Pozostawienie domyślnej nazwy powoduje utworzenie bazy danych o nazwie aspnetdb.
- kliknij Dalej
Uwaga: powyższy przykład zostawił domyślną nazwę i użył aliasu SQL < – to ostatnie zdanie zostało wypowiedziane w „SharePoint Nerd” i przetłumaczone oznacza „użyłem aliasu SQL i baza danych jest przenośna”
po kliknięciu Dalej, pojawi się następujący ekran i powinieneś kliknąć Dalej, jeśli jesteś OK z informacjami. Nie zaszkodzi go przeczytać, ponieważ jeśli jest literówka, to masz szansę ją zmienić.
następnie na następnym ekranie kliknij Zakończ.
- Zaloguj się do serwera SQL
- Otwórz SQL Server Management Studio (SSMS.exe) i podaj swoje konto SharePoint Farm, konto usługi, które uruchamia pulę Usług Wspólnych i aplikacji wyszukiwania, a także konto (- y) usługi zawartości sieci Web lub puli aplikacji witryny db_owner w aspnetdb.
Uwaga: Jeśli pojawi się jakiś błąd dotyczący braku możliwości połączenia się z instancją SQL server, upewnij się, że usługi dla SQL server i SQL Server agent zostały uruchomione. Nie martw się o przeglądarkę SQL Server
- kliknij folder bezpieczeństwa, aby go rozwinąć
- kliknij folder logowania, aby go rozwinąć
- kliknij prawym przyciskiem myszy konta użytkownika z pulą aplikacji usługi tokenów bezpieczeństwa(możesz to określić z inetmgr.
- kliknij Właściwości
- kliknij mapowanie użytkowników
- Wybierz aspnetdb w Users Maped to this login window
- Przypisz dbo w roli bazy danych członkostwo dla: niezależnie od tego, z jakim kontem pracujesz
- kliknij Ok
Utwórz kopie zapasowe wszelkich plików, które zamierzasz zmodyfikować, np.config, www.konfiguracja Bezpieczeństwatokenserviceaplikacja
- przejdź do C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config
- wykonaj kopię zapasową maszyny.config i zapisać go z .rozszerzenie bak
- Edytuj maszynę.config
- przewiń do <ConnectionStrings>
sekcja ciągów połączeń będzie wyglądać jak na obrazku powyżej
- Dodaj do niej następujący kod
1
|
<add connectionString= „Server=SharePointSQL; Database=aspnetdb; Integrated Security=true „name= „FBADB” />
|
Uwaga: może być konieczne zmodyfikowanie nazwy serwera SQL z aliasu, którego używałem. Możesz nie mieć aliasu na miejscu i możesz to określić, patrząc na cliconfg.exe. Upewnij się, że wiersz kodu brzmi ” Server=SharePointSQL….is zaktualizowano dla dowolnej nazwy serwera, lub najlepiej twojego aliasu (np. „Server=SPAlias….or ” Server=MDCP15SQL … or whatever)
po zaktualizowaniu ciągów połączeń będzie to wyglądało mniej więcej tak:
znajdź sekcję <członkostwo> < dostawcy>, będzie to wyglądać tak
Uwaga: Dodasz sekcję do < członków > < dostawców> i do< roli >< dostawców> nie dostawców profilu
upewnij się, że zaktualizowałeś poprawne sekcje
- dodaj to do dostawców członkostwa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<add name=” FBAMembershipProvider”
type= ” System.Www.Ochrona.SqlMembershipProvider, System.Web, Version = 4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
connectionStringName=”FBADB”
enablePasswordRetrieval=”false”
enablePasswordReset=”true”
requiresQuestionAndAnswer=”false”
=”/”
requiresUniqueEmail = „true”
passwordFormat = „Hashed”
maxInvalidPasswordAttempts=”5″
minRequiredPasswordLength=”7″
minrequirednonalphanumericcharaktery=”1″
passwordAttemptWindow=”10″
passwordStrengthRegularExpression=”” />
|
- Teraz dodaj to do dostawców ról
1
2
|
<add name=” FBARoleProvider ” connectionStringName=” FBADB ” applicationName=”/”
type= ” System.Www.Ochrona.SqlRoleProvider, System.Web, Version = 4.0.0.0, Culture = neutral, PublicKeyToken=b03f5f7f11d50a3a” />
|
gotowy produkt powinien wyglądać tak
zwróć uwagę, że zmiany nie zostały wprowadzone do dostawców profili. Uważaj na to, łatwo to przegapić.
teraz otwórz aplikację Security Token Service.config
- Otwórz Menedżera IIS (inetmgr.exe)
- rozwiń witryny
- rozwiń usługi sieciowe SharePoint
- kliknij prawym przyciskiem myszy na Securitytokenserviceaplikacja
- kliknij Eksploruj
- zrób kopię sieci.config jako kopia zapasowa i zapisać go z .rozszerzenie bak
- Dodaj następujący tag tuż nad ostatnim znacznikiem zamykającym konfigurację < / configuration>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<system.www>
<członkostwo>
<dostawcy>
<add name=” FBAMembershipProvider”
type= ” System.Www.Ochrona.SqlMembershipProvider, System.Web, Version = 4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”
connectionStringName=”FBADB”
enablePasswordRetrieval=”false”
enablePasswordReset=”true”
requiresQuestionAndAnswer=”false”
=”/”
requiresUniqueEmail = „true”
passwordFormat = „Hashed”
maxInvalidPasswordAttempts=”5″
minRequiredPasswordLength=”7″
minrequirednonalphanumericcharaktery=”1″
passwordAttemptWindow=”10″
passwordStrengthRegularExpression=”” />
</>
</członkostwo>
<roleManager>
<dostawcy>
<add name=” FBARoleProvider ” connectionStringName=” FBADB ” applicationName=”/”
type= ” System.Www.Ochrona.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />
</dostawcy>
</roleManager>
</system.www>
|
kiedy skończysz, powinno to wyglądać tak, tylko nie będzie miało żółtej plamy.
Ok, teraz jesteś gotowy, aby SharePoint działał z tymi zmianami, upewnij się, że robisz je na wszystkich serwerach w farmie, jeśli masz więcej niż jeden serwer SharePoint. Nie potrzebne w SQL. Otwórz centralną administrację, aby upewnić się, że nie zniszczyłeś swojej farmy. Otwórz kilka kolekcji witryn, które znajdują się w aplikacji internetowej, która zastosuje FBA.
możesz zresetować IIS, ale naprawdę nie powinno to być potrzebne, ponieważ zmiany w tych plikach powodują, że dzieje się to automatycznie, a przynajmniej powinno.
zaktualizuj dostawcę autoryzacji aplikacji internetowej
- Otwórz Centralny administrator i przejdź do Zarządzaj aplikacjami internetowymi
- jeśli nie rozszerzasz aplikacji internetowej do innej strefy i nie używasz podwójnego uwierzytelniania, wybierz aplikację internetową i kliknij dostawcy uwierzytelniania na wstążce. W przeciwnym razie rozszerz aplikację internetową, a następnie na rozszerzonej strefie Ustaw FBA.
aby ustawić FBA, wykonaj następujące czynności:
- przejdź do Zarządzaj aplikacjami internetowymi
- Wybierz aplikację internetową, w której chcesz skonfigurować uwierzytelnianie oparte na formularzach
- kliknij dostawcy uwierzytelniania
- Wybierz strefę, którą chcesz skonfigurować, w tym przykładzie konfigurujemy podwójne uwierzytelnianie (zintegrowane z systemem Windows i FBA)
po otwarciu ekranu konfiguracji strefy,
- przewiń w dół do sekcji związanej z FBA i dodaj nazwy użyte w sekcjach dostawca członkostwa i dostawca roli .zmiany plików konfiguracyjnych. Jeśli nie zmieniłeś nazw dostawców Członkostwa i ról w sekcjach kodu, które czytają <, Dodaj name=”FBAMembershipProvider”….i <add name=”FBARoleProvider….. następnie możesz użyć tych nazw, w przeciwnym razie użyj tego, co je zmieniłeś.
- zaznaczysz pole Enable Forms Based Authentication (FBA), a następnie wprowadź nazwy, których użyłeś
- kliknij Zapisz, aby zapisać zmiany
teraz jeśli spróbujesz otworzyć aplikację internetową lub kolekcję witryn, otrzymasz domyślny monit logowania dla FBA, pozwoli Ci to wybrać między uwierzytelnianiem zintegrowanym z systemem Windows lub opartym na formularzach
nadal nie możesz używać FBA, nawet jeśli go wybierzesz i spróbujesz go użyć, ponieważ w aspnetdb nie ma żadnych użytkowników FBA. Pakiet FBA pozwoli Ci dodawać użytkowników do bazy danych. Post 2013 na blogu Chrisa Coulsona dla SharePoint 2013 wyjaśnia inną metodę.
rozwiązanie FBA Pack
rozwiązanie FBA Pack umożliwia dodawanie użytkowników i zarządzanie nimi
Pobierz rozwiązanie i wdroż je na serwerze SharePoint. Jest wyposażony w naprawdę niesamowity skrypt wdrażania, który pozwala kierować jedną aplikację internetową lub całą farmę.
po zapisaniu rozwiązania, w c:\ deploy na przykład, otwórz administracyjną powłokę zarządzania SharePoint i wykonaj ją w sposób pokazany poniżej, jeśli chcesz ją wdrożyć na całej farmie
jeśli chcesz go wdrożyć do określonej aplikacji internetowej, zamiast wpisywać .\deploy.ps1, wpisz. \ deploy. ps1 http://urlToThatSpecificWebApplication.Domain.com gdzie domain.com jest domeną i sufiksem domeny najwyższego poziomu (np. sharepoint.lokalne, springfield.lokalne, bdbsa.org, ssa.gov, lub spt.local, or whatevs)