Configure Forms Based Authentication (FBA) with SharePoint 2010
převzato z http://blogs.technet.com/b/mahesm/
SharePoint 2010 podporuje FBA, jako WSS 3.0 nebo MOSS 2007. Je to funkce ASP. Net, kterou používáme s SharePoint. SharePoint 2010 webové aplikace můžete vytvářet pomocí klasického ověřování nebo ověřování na základě nároků. FBA však lze konfigurovat pouze s webovými aplikacemi vytvořenými pomocí ověřování na základě nároků.
jaké jsou rozdíly mezi autentizací v klasickém režimu a autentizací založenou na nárocích?
ověřování v klasickém režimu: odkazuje na integrované ověřování systému windows. Ověřování založené na formulářích nelze nakonfigurovat, pokud vaše webová aplikace používá ověřování v klasickém režimu. Webovou aplikaci můžete převést z ověřování v klasickém režimu na ověřování založené na nárocích. To však lze provést pouze pomocí příkazů PowerShell a jeho nevratného procesu. Mám podrobné kroky k převodu webové aplikace z ověřování v klasickém režimu na ověřování založené na nárocích.
ověřování na základě nároků: SharePoint 2010 je postaven na Windows Identity Foundation. Umožňuje ověřování z windows, stejně jako non-Windows systémy založené. To také poskytuje možnost mít více ověřování v jedné adrese URL.
konfigurace FBA s SharePoint 2010 zahrnuje 4 hlavní kroky. Kroky ke konfiguraci FBA s poskytovatelem členství v SQL jsou níže:
I> vytvořit nebo převést existující webové aplikace pro použití ověřování na základě nároků
II> Vytvořit ID uživatelů v databázi SQL
III> upravit web.konfigurační soubor
IV> udělit oprávnění uživatelům přítomným v databázi SQL
Poznámka: Pokud chcete nakonfigurovat FBA s poskytovatelem členství v LDAP, můžete odkazovat na článek TechNet.
podrobné kroky naleznete níže:
i> Vytvořte nebo převeďte stávající webové aplikace tak, aby používaly ověřování založené na nárocích
Poznámka: – Webová aplikace musí být vytvořena z centrální administrační konzole nebo PowerShell, měla by však používat ověřování založené na nárocích.
a. vytvoření webové aplikace pomocí centrální správy
-
-
- otevřete centrální administrační konzolu.
- klikněte na Spravovat webovou aplikaci v části Správa aplikací.
- klikněte na nový na pásu karet.
- zvolil ověřování založené na nárocích z horní části stránky.
- zvolte číslo portu pro webovou aplikaci.
- klikněte na povolit ověřování založené na formulářích (FBA) v části Typy ověřování nároků. Ověřování systému Windows je ve výchozím nastavení povoleno a pokud nepotřebujete ověřování systému windows, musíte zaškrtnout políčko.
- přidejte poskytovatele členství & jméno správce rolí
- jakmile bude webová aplikace vytvořena, ověřte prosím nastavení poskytovatele autentizace pro webovou aplikaci. Mám Snímek obrazovky níže:
-
Poznámka:- Pokud chcete použít ověřování systému Windows a ověřování založené na formulářích v jedné adrese URL, musíte vybrat povolit ověřování systému Windows a povolit ověřování založené na formulářích.
Poznámka: – jen pro pochopení, já používám poskytovatele členství jako „SQL-MembershipProvider“ a Role Manager jako „SQL-RoleManager“. Můžete použít různá jména, ale musíte si pamatovat jméno, abyste je mohli odkázat na webu.konfigurační soubory. Tato jména jsou velká a malá písmena.
B. Co když již máte webovou aplikaci vytvořenou pomocí ověřování v klasickém režimu nebo jak převést webovou aplikaci z ověřování v klasickém režimu na ověřování založené na nárocích?
tuto webovou aplikaci nemusíte mazat. Tuto webovou aplikaci můžete převést z ověřování v klasickém režimu na ověřování založené na nárocích. To však lze provést pouze pomocí PowerShell a je to nevratný proces. Postupujte podle příkazů PowerShell a převeďte webovou aplikaci z ověřování v klasickém režimu na ověřování založené na nárocích:
$App = get-spwebapplication “ URL “
$app.useclaimsauthentication = „True“
$app.Aktualizace ()
příklad: –
$App = get-spwebapplication „http://sp1:8000”
$aplikace.useclaimsauthentication = „True“
$app.Update ()
jakmile budete mít webovou aplikaci pomocí ověřování na základě nároků, můžete vytvořit kolekci stránek. Nyní, pokud přistupujete k webové aplikaci, můžete přistupovat k webu výběrem ověřování systému Windows nebo ověřování založené na formulářích, jak je znázorněno na obrázku níže.
vyberte ověřování systému windows a přihlaste se na web. Při přihlášení budou použity vaše aktuálně přihlášené přihlašovací údaje. Ujistěte se, že účet, ke kterému jste přihlášeni, má přístup k webu SharePoint; v opačném případě získáte chybu odepření přístupu.
II> nakonfigurujte poskytovatele členství a správce rolí.
- na serveru SharePoint 2010 otevřete příkazový řádek.
- přejděte na C: WindowsMicrsooft .NetFramework64v2.0.50727
- spustit “ aspnet_regsql.exe“. Otevře se Průvodce nastavením ASP. Net SQL Server. Na tomto kliknutí na další.
- klikněte na „Konfigurovat SQL Server pro aplikační služby“.
- zadejte název databáze. Pokud nezadáte název databáze, vytvoří se databázové volání aspnetdb.
- použijte nástroj membershipseeder k vytvoření uživatelů v databázi SQL. Můžete najít nástroj a informace o tom z codeplex.
Poznámka: – zadal jsem název databáze jako „SQL-Auth“.
III> upravit web.konfigurační soubor pro poskytovatele členství a správce rolí.
musíme upravit 3 různé webové stránky.konfigurační soubory pro FBA do práce. Web.konfigurace webové aplikace FBA, web.config webu Centrální správy & Web.konfigurace STS.
a. upravit web.konfigurace webové aplikace FBA.
- přidat připojovací řetězec:
<spojovací struny>
<add name= „SQLConnectionString“ connectionString= “ data source=SQL; Integrated Security=SSPI;Initial Catalog=SQL-Auth“ />
</connectionStrings>
připojovací řetězec musí být přidán po < / SharePoint> a před < systémem.web>
- přidat poskytovatele členství a správce rolí:
<roleManager defaultProvider= “ c „enabled=“ true „cacheRolesInCookie= „false“>
<poskytovatelé>
<add name= “ c „type=“ Microsoft.SharePoint.Správa.Pohledávka.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Verze=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c“ />
<add connectionStringName=“SQLConnectionString“ applicationName=“/“ description=“Stores and retrieves roles from SQL Server“ name=“SQL-RoleManager“ type=“System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a“ />
</providers>
</roleManager>
<membership defaultProvider=“i“>
<providers>
<add name=“i“ type=“Microsoft.SharePoint.Administration.Pohledávka.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Kultura=neutrální, PublicKeyToken=71e9bce111e9429c“ />
<přidat connectionStringName= „SQLConnectionString“ passwordAttemptWindow= “ 5 “ enablePasswordRetrieval=“ false „enablePasswordReset=“ false “ requiresQuestionAndAnswer=“ true “ applicationName=“ / „requiresUniqueEmail=“ true „passwordFormat=“ Hashed „description=“ ukládá a načítá data členství z SQL Serveru „name=“ SQL-MembershipProvider „type=“ System.Web.Zabezpečení.SqlMembershipProvider, Systém.Web, Verze=2.0.3600.0, Kultura=neutrální, PublicKeyToken=b03f5f7f11d50a3a“ />
</poskytovatelé>
</členství>
</systém.web>
B. upravit web.konfigurace webové aplikace pro centrální správu.
- přidat připojovací řetězec:
<spojovací struny>
<add name= „SQLConnectionString“ connectionString= “ data source=SQL; Integrated Security=SSPI;Initial Catalog=SQL-Auth“ />
</connectionStrings>
připojovací řetězec musí být přidán po < / SharePoint> a před < systémem.web>
- přidat poskytovatele členství a správce rolí:
<roleManager defaultProvider= „AspNetWindowsTokenRoleProvider“ enabled= „true“ cacheRolesInCookie= „false“>
<poskytovatelé>
<přidat connectionStringName=“ SQLConnectionString “ applicationName=“ / „description=“ ukládá a načítá role z SQL Serveru „name=“ SQL-RoleManager „type=“ System.Web.Zabezpečení.SqlRoleProvider, Systém.Web, Verze=2.0.3600.0, Kultura=neutrální, PublicKeyToken=b03f5f7f11d50a3a“ />
</poskytovatelé>
</roleManager>
<členství defaultProvider= „SQL-MembershipProvider“>
<poskytovatelé>
<přidat connectionStringName= „SQLConnectionString“ passwordAttemptWindow= “ 5 “ enablePasswordRetrieval=“ false „enablePasswordReset=“ false „requiresQuestionAndAnswer=“ true “ applicationName=“ / „requiresUniqueEmail=“ true „passwordFormat=“ Hashed „description=“ ukládá a načítá data členství z SQL Serveru“ name= „SQL-MembershipProvider“ type= “ System.Web.Zabezpečení.SqlMembershipProvider, Systém.Web, Version=2.0.3600.0, Kultura=neutrální, PublicKeyToken=b03f5f7f11d50a3a“ />
</poskytovatelé>
</členství>
C. upravit web.konfigurace STS. Můžete najít STS web.config z %programsoubory%běžné souborymicrosoft Sharedweb server extensions14WebServicesSecurityToken
<connectionStrings>
<add name= „SQLConnectionString“ connectionString= “ data source=SQL; Integrated Security=SSPI;Initial Catalog=SQL-Auth“ />
</connectionStrings>
<system.web>
<roleManager defaultProvider=“c“ enabled=“true“ cacheRolesInCookie=“false“>
<providers>
<add name=“c“ type=“Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c“ />
<add connectionStringName=“SQLConnectionString“ applicationName=“/“ description=“Stores and retrieves roles from SQL Server“ name=“SQL-RoleManager“ type=“System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a“ />
</providers>
</roleManager>
<membership defaultProvider=“i“>
<providers>
<add name=“i“ type=“Microsoft.SharePoint.Administration.Pohledávka.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Kultura=neutrální, PublicKeyToken=71e9bce111e9429c“ />
<přidat connectionStringName= „SQLConnectionString“ passwordAttemptWindow= “ 5 “ enablePasswordRetrieval=“ false „enablePasswordReset=“ false “ requiresQuestionAndAnswer=“ true “ applicationName=“ / „requiresUniqueEmail=“ true „passwordFormat=“ Hashed „description=“ ukládá a načítá data členství z SQL Serveru „name=“ SQL-MembershipProvider „type=“ System.Web.Zabezpečení.SqlMembershipProvider, Systém.Web, Verze=2.0.3600.0, Kultura=neutrální, PublicKeyToken=b03f5f7f11d50a3a“ />
</poskytovatelé>
</členství>
</systém.web>
výše musí být přidán před < / konfigurace>
IV> udělit oprávnění uživatelům v databázi SQL.
- otevřete centrální administrační konzolu a klikněte na spravovat webové aplikace v části Správa aplikací.
- vyberte webovou aplikaci a klikněte na zásady uživatele na pásu karet.
- klikněte na Přidat uživatele a vyberte výchozí zónu.
- Nyní zadejte uživatelské jméno, přidejte uživatele do webové aplikace definováním příslušného oprávnění.
časté problémy:
pokud používáte více účtů služeb podle článku TechNet administrativní a servisní účty potřebné pro počáteční nasazení (SharePoint Server 2010), možná nebudete schopni vyřešit uživatelská jména nebo přidat uživatele do webové aplikace. Pokud používáte 3 různé účty (účet správce farmy, účet fondu aplikací pro webovou aplikaci a účet servisní aplikace), musíte se ujistit, že máte přístup k databázi členství SQL (SQL-Auth).
důležité:
co se stane s FBA, když upgradujeme WSS 3.0 / MOSS 2007 na SharePoint 2010?
před upgradem na SharePoint 2010 musíte odstranit změny, které jste provedli na webu.konfigurační soubor. Jakmile proces modernizace dokončí všechny webové aplikace budou aktualizovány; ty však budou používat ověřování v klasickém režimu. Tyto webové aplikace můžete převést z ověřování v klasickém režimu na ověřování založené na nárocích.
nástroje 3rd party: FBA Manager SP2010 (forms Based Authentication) Dev-IT