så här ställer du in Forms Based Authentication (FBA)

det här inlägget är anpassat från en blogg, som jag anser vara den högsta myndigheten för FBA – konfiguration, skriven av Chris Coulson,

läs den högsta myndigheten här för 2016 och här för 2013

2010-Se 2013-stegen, se till att 2010-webbappen använder anspråk baserad autentisering, sedan efter det är detsamma, Du kan inte använda en klassisk webbapplikation.

Obs: med den här metoden behöver du inte ändra webben.config av central admin eller någon av webbapplikationerna, nuvarande eller framtida. Du behöver bara ändra maskinen.config och webben.konfiguration av SecurityTokenServiceApplication webbtjänster.

så; detta är den föredragna metoden. Det finns andra metoder där ute som har du ändra central admin webb.config, webben.config för varje webbapplikation, och säkerhetstoken Service application web.config; men, som vill gå till alla dessa problem. Och måste upprepa för varje ny webbapplikation, inte mindre. Jag är lat och jag skulle hellre ha FBA vara en möjlighet på varje framtida och nuvarande webbapplikation. Jag blir också riktigt sketchy när jag tänker på att ändra den centrala administratörswebben.config; så det är därför metoden som stavas ut i detalj, på Chris Coulsons blogg, är optimal.

Hi-level steg

  • skapa databasen genom att köra aspnet_regsql.exe hittades på c:\windows\Microsoft.NET\Framework64\v4.0.30319 \
  • gör säkerhetskopior av alla filer som du håller på att ändra, t.ex. maskinen.config, webben.konfiguration av SecurityTokenServiceApplication
  • gör ändringarna, var noga med de avsnitt du befinner dig i. Se till att när du ändrar avsnittet medlemsleverantör och avsnittet rollleverantör, att du inte ändrar avsnittet profilleverantör
  • uppdatera Auth-leverantören av webbapplikationen
  • installera lämplig fbapack-lösning för enkel användarhantering
    • 2016 – https://www.visigo.com/products/sharepoint-fba-pack/download/
    • 2013 – gå till visigo-webbplatsen för den senaste stabila versionen av denna gratis nedladdning
    • 2010 – gå till visigo-webbplatsen för den senaste stabila versionen av denna gratis nedladdning
  • logga in med windows creds och Lägg till en FBA-användare och testa sedan att de olika menyn arbete, och att du kan logga in med FBA användaren

mer detaljerade steg

skapa databasen genom att köra aspnet_regsql.exe

  • logga in på din SharePoint-Server
  • navigera till c:\windows\Microsoft.NET\Framework64\v4.0.30319 \
  • kör aspnet_reqsql.exe som administratör

  • efter ASP.NET SQL setup wizard öppnas, läs informationen och klicka sedan på nästa, som en chef!

  • på skärmen Välj ett installationsalternativ använder du standardvalet ”konfigurera SQL Server för applikationstjänster” och klicka på Nästa, klicka igen på det som en chef!

  • på skärmen” välj Server och databas ” anger du aliaset för din SQL server eller SQL Server-namnet om Gud förbjuder att du inte använde ett alias när du konfigurerade gården och
  • Acceptera <standard> databasnamn. Om du ändrar databasnamnet, se till att du uppdaterar namnet i posten till maskinen.config – anslutningssträng i de kommande stegen. Det här inlägget förutsätter att du lämnade< standard > namn som visas i nästa skärmbild. Om du lämnar standardnamnet skapas en databas med namnet aspnetdb.
  • klicka på Nästa

Lägg märke till: exemplet ovan lämnade standardnamnet och använde SQL – aliaset < – den sista meningen talades i ”SharePoint Nerd” och översattes det betyder ”Jag använde ett SQL-Alias och databasen är bärbar”

efter att ha klickat på Nästa visas följande skärm och du bör klicka på Nästa om du är OK med informationen. Det skadar inte att läsa det, eftersom om det finns ett skrivfel är det din chans att ändra det.

klicka sedan på Slutför på nästa skärm.

  • logga in på din SQL server
  • öppna SQL Server Management Studio (SSMS.exe) och ge ditt SharePoint Farm-konto, servicekontot som kör den delade tjänsten och sökprogrampoolen och webbinnehållet eller webbplatsapplikationspooltjänstkontot (- erna) db_owner på aspnetdb.

notera: om du får något slags fel om att inte kunna ansluta till SQL server-instansen, se till att tjänsterna för SQL server och SQL server agent startas. Oroa dig inte för SQL Server-webbläsaren

  • klicka på säkerhetsmappen för att expandera den
  • klicka på inloggningsmappen för att expandera den
  • högerklicka på användarkontot(erna) som kör säkerhetstoken Service application pool (du kan bestämma detta från inetmgr.8599>
  • klicka på Egenskaper
  • klicka på Användarmappning
  • Välj aspnetdb I användarna mappade till det här inloggningsfönstret
  • tilldela DBO i Databasrollmedlemskapet för: vilket konto du arbetar med
  • klicka på Ok

gör säkerhetskopior av alla filer som du håller på att ändra, t.ex. datorn.config, webben.konfiguration av SecurityTokenServiceApplication

  • navigera till C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config
  • ta en säkerhetskopia av maskinen.config och spara den med en .bak förlängning
  • redigera maskinen.config
  • Bläddra till <anslutningssträngar>

avsnittet anslutningssträngar kommer att se ut som bilden ovan

  • Lägg till följande kod till den
maskin.config ändring del 1

1
<add connectionString= ”Server = SharePointSQL; databas=aspnetdb; integrerad säkerhet = true”name= ”FBADB” />

notera: du kan behöva ändra namnet på SQL-servern från aliaset som jag använde. Du kanske inte har ett alias på plats och du kan bestämma det genom att titta på cliconfg.exe. Se till att koden som läser ”Server=SharePointSQL….is uppdaterad för vad ditt servernamn är, eller helst ditt alias (t. ex. ”Server=SPAlias….eller ” Server=MDCP15SQL … eller vad som helst)

efter att anslutningssträngarna har uppdaterats kommer det att se ut så här:

hitta avsnittet<medlemskap >< leverantörer >, det kommer att se ut så här

notera: Du lägger till ett avsnitt till <medlemskap> < leverantörer> och till <rollen> < leverantörer> inte profilleverantörerna

se till att uppdatera rätt avsnitt

  • Lägg till detta till medlemsleverantörerna
maskin.config del 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14

<lägg name= ”FBAMembershipProvider”
type= ” systemet.Webb.Säkerhet.SqlMembershipProvider, Systemet.Web, Version=4.0.0.0, kultur = neutral, PublicKeyToken=b03f5f7f11d50a3a”
connectionStringName=”FBADB”
enablePasswordRetrieval=”false”
enablePasswordReset=”true”
requiresQuestionAndAnswer=”false”
programnamn=”/”
requiresUniqueEmail= ”true”
passwordFormat= ”Hashed”
maxInvalidPasswordAttempts=”5″
minrequiredpasswordlängd=”7″
minrequirednonalfanumeriskatecken=”1″
passwordAttemptWindow=”10″
lösenordstyrka reglerarexpression=”” />

  • Lägg nu till detta till Rollleverantörerna
maskin.config p3

1
2

<add name=”fbaroleprovider” connectionStringName= ”fbadb” applicationName=”/”
Typ=”System.Webb.Säkerhet.SqlRoleProvider, Systemet.Web, Version=4.0.0.0, kultur = neutral, PublicKeyToken=b03f5f7f11d50a3a” />

den färdiga produkten ska se ut så här

Lägg märke till hur ändringarna inte gjordes till Profilleverantörerna. Se upp för det, det är lätt att missa.

öppna nu Security Token Service App web.config
  • öppna IIS-hanteraren (inetmgr.exe)
  • expandera webbplatser
  • expandera SharePoint web services
  • högerklicka på SecurityTokenServiceApplication
  • klicka utforska
  • ta en kopia av webben.config som en säkerhetskopia och spara den med en .bak förlängning

  • Lägg till följande precis ovanför den allra sista avslutande konfigurationstaggen < / konfiguration>
securitytokenserviceapp webb.config

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.web>
<medlemskap>
<leverantörer>
<lägg name= ”FBAMembershipProvider”
type= ” systemet.Webb.Säkerhet.SqlMembershipProvider, Systemet.Web, Version=4.0.0.0, kultur = neutral, PublicKeyToken=b03f5f7f11d50a3a”
connectionStringName=”FBADB”
enablePasswordRetrieval=”false”
enablePasswordReset=”true”
requiresQuestionAndAnswer=”false”
programnamn=”/”
requiresUniqueEmail= ”true”
passwordFormat= ”Hashed”
maxInvalidPasswordAttempts=”5″
minrequiredpasswordlängd=”7″
minrequirednonalfanumeriskatecken=”1″
passwordAttemptWindow=”10″
lösenordstyrka reglerarexpression=”” />
< / leverantörer>
</medlemskap>
<roleManager>
<leverantörer>
<add name=”fbaroleprovider” connectionStringName= ”fbadb” applicationName=”/”
Typ=”System.Webb.Säkerhet.SqlRoleProvider, Systemet.Webb, Version=4.0.0.0, kultur=neutral, PublicKeyToken=b03f5f7f11d50a3a” />
</leverantörer>
</roleManager>
</systemet.web>

när du är klar ska det se ut så här, bara det kommer inte att ha den gula fläcken på den.

Ok, nu är du redo att få SharePoint att fungera med dessa ändringar, se till att du gör dem på alla servrar i gården om du har mer än en SharePoint-server. Behövs inte på SQL. Öppna Central administration bara för att se till att du inte har förintat din gård. Öppna några webbplatssamlingar som finns i webbapplikationen som kommer att få FBA applicerad.

du kan återställa IIS för bra åtgärd, men det borde verkligen inte behövas, eftersom ändringar i dessa filer gör att det händer automatiskt, eller åtminstone borde det.

uppdatera Auth-leverantören av webbapplikationen

  • öppna Central admin och navigera till hantera webbapplikationer
  • om du inte utvidgar webbapplikationen till en annan zon och använder dubbel autentisering, välj sedan webbapplikationen och klicka på Autentiseringsleverantörer från menyfliksområdet. Annars, utöka webbapplikationen och ställ sedan in FBA på den utökade zonen.

för att ställa in FBA utför följande:

  • gå till Hantera webbapplikationer
  • Välj webbapplikationen där du vill konfigurera formulärbaserad autentisering
  • klicka på Autentiseringsleverantörer
  • välj den zon som du vill konfigurera, i det här exemplet ställer vi in dubbel autentisering (Windows Integrated och FBA)

när skärmen zone configuration öppnas,

  • bläddra ner till avsnittet relaterat till FBA och Lägg till Namnen som du använde i avsnittet medlemsleverantör och rollleverantör i .konfigurationsfilen ändras. Om du inte ändrade namnen på medlems-och Rollleverantörerna i kodavsnitten som läser < Lägg till name=”FBAMembershipProvider”….och < Lägg till name= ” FBARoleProvider….. då kan du använda dessa namn, annars använda vad du ändrade dem också.

  • du kommer att markera rutan med namnet aktivera formulärbaserad autentisering (FBA) och ange sedan Namnen du använde

  • klicka på Spara för att spara ändringarna

nu om du försöker öppna en webbapplikation eller webbplatssamling kommer du att få standardinloggningsprompten för FBA, det låter dig välja mellan Windows Integrated eller Forms Based Authentication

du kan fortfarande inte använda FBA men även om du väljer det och försöker använda det, eftersom det inte finns några FBA-användare i aspnetdb just nu. FBA-paketet låter dig lägga till användare i databasen. 2013-inlägget på Chris Coulsons blogg för 2013 SharePoint förklarar en annan metod.

FBA Pack Solution

FBA Pack Solution låter dig lägga till och hantera användare

ladda ner lösningen och distribuera den till din SharePoint-Server. Den levereras med ett riktigt fantastiskt distributionsskript som låter dig rikta in dig på en webbapplikation eller hela gården.

när du har sparat lösningen, i c:\ distribuera till exempel, öppna sedan ett administrativt SharePoint-hanteringsskal och kör det som visas nedan, om du vill att det ska distribueras till hela gården

om du vill att den ska distribueras till en specifik webbapplikation istället för att skriva .\deploy.ps1 skulle du skriva. \ deploy. ps1 http://urlToThatSpecificWebApplication.Domain.com där domain.com är din domän och toppdomän suffix (t.ex. sharepoint.lokal, springfield.lokala, bdbsa.org, ssa.gov, eller spt.lokala, eller whatevs)

Leave a Reply

Din e-postadress kommer inte publiceras.