Forms Based Authentication (FBA) configureren met SharePoint 2010
overgenomen van http://blogs.technet.com/b/mahesm/
SharePoint 2010 ondersteunt FBA, zoals WSS 3.0 of MOSS 2007. Het is een functie van ASP. NET die we gebruiken met SharePoint. SharePoint 2010 U kunt webapplicaties maken met behulp van klassieke authenticatie of op Claims gebaseerde authenticatie. FBA kan echter alleen worden geconfigureerd met webtoepassingen die zijn gemaakt met op Claims gebaseerde verificatie.
Wat zijn de verschillen tussen authenticatie in de klassieke modus en authenticatie op basis van Claims?
Classic Mode Authentication: het verwijst naar de geïntegreerde Windows authentication. U kunt de verificatie op basis van formulieren niet configureren als uw webtoepassing verificatie in de klassieke modus gebruikt. U kunt een webtoepassing converteren van verificatie in de klassieke modus naar verificatie op basis van Claims. Echter, dat kan alleen worden gedaan met behulp van PowerShell commando ‘ s en het is een onomkeerbaar proces. Ik heb gedetailleerde stappen om de webtoepassing te converteren van authenticatie in de klassieke modus naar authenticatie op basis van Claims.
authenticatie op basis van Claims: SharePoint 2010 is gebouwd op Windows Identity Foundation. Het maakt authenticatie van zowel windows als niet-windows gebaseerde systemen. Dit biedt ook de mogelijkheid om meerdere authenticatie in een enkele URL.
de configuratie van FBA met SharePoint 2010 omvat 4 belangrijke stappen. De stappen om de FBA te configureren met SQL-lidmaatschapsprovider staan hieronder:
I> maak of converteer bestaande webtoepassingen om op Claims gebaseerde authenticatie te gebruiken
II> Maak gebruikers-ID ‘ s aan in SQL-Database
III> Wijzig web.configuratiebestand
IV> geef machtigingen aan gebruikers die aanwezig zijn in de SQL-database
Opmerking: Als u FBA wilt configureren met LDAP-lidmaatschapsprovider, kunt u TechNet-artikel raadplegen.
hieronder vindt u de gedetailleerde stappen:
I> bestaande webapplicaties maken of Converteren om authenticatie op basis van Claims te gebruiken
opmerking: – Webapplicatie moet worden gemaakt vanuit de centrale beheerconsole of PowerShell, maar het moet gebruik maken van claims gebaseerde authenticatie.
A. webtoepassing maken met centrale administratie
-
-
- Open de centrale beheerconsole.
- klik op webapplicatie beheren onder Application Management.
- klik op nieuw op het lint.
- kies op Claims gebaseerde authenticatie bovenaan de pagina.
- kies poort Nr voor de webtoepassing.
- klik op op formulieren gebaseerde authenticatie inschakelen (FBA) onder Authenticatietypen voor Claims. Windows-verificatie is standaard ingeschakeld en als u geen Windows-verificatie nodig hebt, moet u het selectievakje Verwijderen.
- Add the Membership Provider & Role Manager Name
- controleer de Instellingen van de authenticatieprovider voor de webtoepassing zodra de webtoepassing is aangemaakt. Ik heb de screenshot hieronder:
-
opmerking:- Als u Windows-verificatie en op formulieren gebaseerde verificatie wilt gebruiken in een enkele URL, moet u Windows-verificatie inschakelen selecteren en op formulieren gebaseerde verificatie inschakelen.
opmerking: – gewoon voor het begrijpen, Ik ben met behulp van lidmaatschap Provider als ” SQL-MembershipProvider “en Role Manager als”SQL-Roleman”. U kunt verschillende namen gebruiken, maar u moet de naam onthouden, zodat u ze kunt verwijzen in web.configuratiebestand. Deze namen zijn hoofdlettergevoelig.
B. Wat als u al een webtoepassing hebt gemaakt met behulp van authenticatie in de klassieke modus of hoe u webtoepassing converteert van authenticatie in de klassieke modus naar authenticatie op basis van Claims?
u hoeft die webtoepassing niet te verwijderen. U kunt die webtoepassing converteren van verificatie in de klassieke modus naar verificatie op basis van claims. Dit kan echter alleen worden gedaan met behulp van PowerShell en het is een onomkeerbaar proces. Volg PowerShell-opdrachten om de webtoepassing te converteren van authenticatie in de klassieke modus naar authenticatie op basis van Claims:
$App = get-spwebapplicatie ” URL ”
$app.useclaimsauthentication = “True”
$app.Update ()
voorbeeld: –
$App = get-spwebapplication “http://sp1:8000”
$app.useclaimsauthentication = “True”
$app.Update ()
zodra de webtoepassing gebruik maakt van authenticatie op basis van Claims, kunt u een sitecollectie maken. Als u nu de webtoepassing opent, kunt u toegang krijgen tot de site door Windows-verificatie of op formulieren gebaseerde verificatie te kiezen, zoals weergegeven in onderstaande afbeelding.
kies Windows-verificatie en aanmelden bij de site. Wanneer u zich aanmeldt worden uw momenteel ingelogde referenties gebruikt. Zorg ervoor dat het account waarmee u bent ingelogd toegang heeft tot de SharePoint-site; anders krijgt u toegang geweigerd fout.
II> Configureer de Lidmaatschapsprovider en de Rolbeheerder.
- open op SharePoint 2010 server de opdrachtprompt.
- Navigeer naar C: WindowsMicrsooft .NetFramework64v2.0.50727
- voer ” aspnet_regsql uit.executable”. Dit opent de ASP. NET SQL Server Setup wizard. Klik op Volgende.
- klik op “SQL Server configureren voor applicatieservices”.
- Geef de naam van de Database op. Als u de databasenaam niet opgeeft, wordt een database-aanroep aspnetdb gemaakt.
- gebruik membershipseeder tool om de gebruikers in de SQL-database aan te maken. U kunt de tool en informatie over die vinden van codeplex.
opmerking: – Ik heb de naam van de database opgegeven als “SQL-Auth”.
III> Wijzig het web.configuratiebestand voor Lidmaatschapsprovider en Role Manager.
we moeten 3 verschillende web wijzigen.configuratiebestanden voor FBA om te werken. Web.config van FBA webapplicatie, web.configuratie van de centrale toedieningsplaats & Web.config van de St.
A. Web wijzigen.config van FBA webtoepassing.
- verbindingsreeks toevoegen:
<verbindingsstrings>
<add name=”sqlconnectionstring” connectionString = ” data source=SQL; Integrated Security=SSPI;Initial Catalog=SQL-Auth” />
</connectionStrings>
Verbindingsstrings moeten worden toegevoegd na < / SharePoint> en vóór <systeem.web>
- lidmaatschap Provider en Role Manager toevoegen:
<roleManager defaultProvider= ” c “enabled=” true “cacheRolesInCookie= “false”>
<leveranciers>
<voeg name=”c” type=”Microsoft.SharePoint.Administratie.Vordering.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Versie = 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.Vordering.Spclaimsauteurshipprovider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />
<toevoegen connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hash” description=”Winkels en Haalt het lidmaatschap van gegevens uit SQL Server” name=”SQL-MembershipProvider” type=”Systeem.Web.Veiligheid.Sql Lidschipprovider, Systeem.Web, Versie = 2.0.3600.0, Culture=neutraal, Publiceytoken = b03f5f7f11d50a3a” />
</leveranciers>
</lidmaatschap>
</systeem.web>
B. Web wijzigen.configuratie van de webtoepassing voor centrale administratie.
- verbindingsreeks toevoegen:
<verbindingsstrings>
<add name=”sqlconnectionstring” connectionString = ” data source=SQL; Integrated Security=SSPI;Initial Catalog=SQL-Auth” />
</connectionStrings>
Verbindingsstrings moeten worden toegevoegd na < / SharePoint> en vóór <systeem.web>
- lidmaatschap Provider en Role Manager toevoegen:
<roleManager defaultProvider= “AspNetWindowsTokenRoleProvider” enabled= “true” cacheRolesInCookie= “false”>
<leveranciers>
<voeg connectionStringName = “sqlconnectionstring” applicationName=” / ” description=” slaat rollen op van SQL Server”name=” SQL-RoleManager”type=” systeem.Web.Veiligheid.SqlRoleProvider, Systeem.Web, Versie = 2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />
</aanbieders>
</roleManager>
<lidmaatschap defaultProvider=”SQL-MembershipProvider”>
<aanbieders>
<toevoegen connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hash” description=”Winkels en Haalt het lidmaatschap van gegevens uit SQL Server” name=” SQL-MembershipProvider”type =” System.Web.Veiligheid.Sql Lidschipprovider, Systeem.Web, Version = 2.0.3600.0, Culture = neutraal, Publiceytoken = b03f5f7f11d50a3a” />
</leveranciers>
</lidmaatschap>
C. Wijzig web.config van de St. U kunt het web van STS vinden.configuratie van % programfiles%common filesMicrosoft 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.Vordering.Spclaimsauteurshipprovider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />
<toevoegen connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hash” description=”Winkels en Haalt het lidmaatschap van gegevens uit SQL Server” name=”SQL-MembershipProvider” type=”Systeem.Web.Veiligheid.Sql Lidschipprovider, Systeem.Web, Versie = 2.0.3600.0, Culture=neutraal, Publiceytoken = b03f5f7f11d50a3a” />
</leveranciers>
</lidmaatschap>
</systeem.web>
hierboven moet worden toegevoegd vóór < / configuratie>
IV> geef machtigingen aan gebruikers in de SQL-database.
- Ga naar de centrale beheerconsole en klik op webapplicaties beheren onder Toepassingsbeheer.
- Selecteer de webtoepassing en klik op gebruikersbeleid op lint.
- klik op Gebruiker toevoegen en selecteer Standaard Zone.
- typ nu de gebruikersnaam, voeg de gebruiker toe aan de webtoepassing door de juiste toestemming te definiëren.
veelvoorkomende problemen:
Als u meerdere serviceaccounts gebruikt volgens TechNet – artikelbeheer-en serviceaccounts die nodig zijn voor de eerste implementatie (SharePoint Server 2010), dan kunt u mogelijk de gebruikersnamen niet oplossen of de gebruikers niet toevoegen aan de webtoepassing. Als u 3 verschillende accounts gebruikt (Farm Administrator-account, applicatie pool-account voor webtoepassing en service applicatie-account), moet u ervoor zorgen dat u toegang hebt tot de SQL-lidmaatschapsdatabase (SQL-Auth).
belangrijk:
Wat gebeurt er met FBA wanneer we WSS 3.0 / MOSS 2007 upgraden naar SharePoint 2010?
voordat u een upgrade uitvoert naar SharePoint 2010 moet u de wijzigingen verwijderen die u op het web hebt aangebracht.configuratiebestand. Zodra het proces van upgraden is voltooid alle webapplicaties zullen worden opgewaardeerd; deze zullen echter gebruik maken van authenticatie in de klassieke modus. U kunt deze webtoepassingen converteren van verificatie in de klassieke modus naar verificatie op basis van Claims.
hulpprogramma ‘ s van derden: FBA Manager SP2010 (authenticatie op basis van formulieren) Dev-IT