Configura Forms Based Authentication (FBA) with SharePoint 2010
Tratto da http://blogs.technet.com/b/mahesm/
SharePoint 2010 supporta FBA, come WSS 3.0 o MOSS 2007. È una funzionalità di ASP. Net che usiamo con SharePoint. SharePoint 2010 è possibile creare applicazioni Web utilizzando l’autenticazione basata classica o Attestazioni autenticazione basata. Tuttavia, FBA può essere configurato solo con applicazioni Web create utilizzando l’autenticazione basata su attestazioni.
Quali sono le differenze tra l’autenticazione in modalità classica e l’autenticazione basata su attestazioni?
Autenticazione in modalità classica: si riferisce all’autenticazione integrata di Windows. Non è possibile configurare l’autenticazione basata sui moduli se l’applicazione Web utilizza l’autenticazione in modalità classica. È possibile convertire un’applicazione Web dall’autenticazione in modalità classica all’autenticazione basata su attestazioni. Tuttavia, ciò può essere fatto solo usando i comandi PowerShell ed è un processo irreversibile. Ho passaggi dettagliati per convertire l’applicazione Web dall’autenticazione in modalità classica all’autenticazione basata su attestazioni.
Autenticazione basata su attestazioni: SharePoint 2010 è costruito su Windows Identity Foundation. Consente l’autenticazione da sistemi Windows e non basati su Windows. Ciò fornisce anche la possibilità di avere più autenticazione in un singolo URL.
La configurazione di FBA con SharePoint 2010 prevede 4 passaggi principali. I passaggi per configurare l’FBA con il provider di appartenenza SQL sono di seguito:
I >Crea o converti applicazioni web esistenti per utilizzare l’autenticazione basata su attestazioni
II >Crea ID utente nel database SQL
III > Modifica web.file di configurazione
IV> Dare autorizzazioni agli utenti presenti nel database SQL
Nota: Se si desidera configurare FBA con LDAP membership Provider, è possibile fare riferimento all’articolo TechNet.
Si prega di trovare i passaggi dettagliati di seguito:
I > Creare o convertire applicazioni Web esistenti per utilizzare l’autenticazione basata su attestazioni
Nota: – L’applicazione Web deve essere creata dalla console di amministrazione centrale o PowerShell, tuttavia dovrebbe utilizzare l’autenticazione basata sulle attestazioni.
A. Creazione di applicazioni web mediante amministrazione centrale
-
-
- Aprire la console di amministrazione centrale.
- Fare clic su Gestisci applicazione Web In Gestione applicazioni.
- Fare clic su nuovo sulla barra multifunzione.
- Ha scelto l’autenticazione basata su attestazioni Dalla parte superiore della pagina.
- Scegliere la porta no per l’applicazione web.
- Fare clic su Abilita autenticazione basata su moduli (FBA) in Tipi di autenticazione attestazioni. L’autenticazione di Windows è abilitata per impostazione predefinita e se non è necessario l’autenticazione di Windows, è necessario rimuovere la casella di controllo.
- Aggiungere il provider di appartenenza & Nome Role Manager
- Non appena l’applicazione Web è stata creata verificare le impostazioni del provider di autenticazione per l’applicazione web. Ho lo screenshot qui sotto:
-
Nota:- Se si desidera utilizzare l’autenticazione di Windows e l’autenticazione basata su moduli in URL singolo, è necessario selezionare Abilita autenticazione di Windows e Abilita autenticazione basata su moduli.
Nota: – Solo per capire, sto usando il provider di appartenenza come ” SQL-MembershipProvider “e Role Manager come”SQL-RoleManager”. È possibile utilizzare nomi diversi, tuttavia è necessario ricordare il nome in modo da poterli fare riferimento nel web.file di configurazione. Questi nomi sono case sensitive.
B. Cosa succede se si dispone già di un’applicazione Web creata utilizzando l’autenticazione in modalità classica o Come convertire l’applicazione Web dall’autenticazione in modalità classica all’autenticazione basata su attestazioni?
Non è necessario eliminare tale applicazione web. È possibile convertire l’applicazione Web dall’autenticazione in modalità classica all’autenticazione basata su attestazioni. Tuttavia questo può essere fatto solo usando PowerShell ed è un processo irreversibile. Seguire i comandi PowerShell per convertire l’applicazione Web dall’autenticazione in modalità classica all’autenticazione basata su attestazioni:
App App = get – spwebapplication ” URL ”
app app.useclaimsauthentication = “True”
app app.Update ()
Esempio: –
App App = get-spwebapplication “http://sp1:8000”
$app.useclaimsauthentication = “True”
app app.Update()
Una volta che l’applicazione Web utilizza l’autenticazione basata su attestazioni, è possibile creare una raccolta di siti. Ora, se si accede all’applicazione Web, è possibile accedere al sito scegliendo l’autenticazione di Windows o l’autenticazione basata su moduli come mostrato nell’immagine sottostante.
Scegli Autenticazione di Windows e accedi al sito. Quando si effettua il login verranno utilizzate le credenziali attualmente registrate. Assicurati che l’account con cui hai effettuato l’accesso abbia accesso al sito SharePoint; In caso contrario, riceverai l’errore accesso negato.
II > Configurare il provider di appartenenza e il gestore dei ruoli.
- Sul server SharePoint 2010 aprire il prompt dei comandi.
- Passare a C:WindowsMicrsooft .NetFramework64v2.0.50727
- Esegui ” aspnet_regsql.exe”. Si aprirà ASP. Net SQL Server Setup wizard. Su questo clicca su AVANTI.
- Fare clic su “Configura SQL Server per i servizi applicativi”.
- Specificare il nome del database. Se non si specifica il nome del database, verrà creata una chiamata al database aspnetdb.
- Utilizzare lo strumento membershipseeder per creare gli utenti nel database SQL. È possibile trovare lo strumento e le informazioni su questo da codeplex.
Nota: – Ho specificato il nome del database come “SQL-Auth”.
III > Modifica il web.file di configurazione per Provider di appartenenza e Gestore di ruolo.
Abbiamo bisogno di modificare 3 diversi web.file di configurazione per FBA al lavoro. Web.configurazione dell’applicazione Web FBA, web.configurazione del sito di amministrazione centrale & Web.configurazione di STS.
A. Modifica web.configurazione dell’applicazione web FBA.
- Aggiungi stringa di connessione:
<Stringhe di connessione>
<add name = “SQLConnectionString” connectionString = ” data source = SQL; Integrated Security = SSPI;Catalogo iniziale = SQL-Auth” />
</connectionStrings>
La stringa di connessione deve essere aggiunta dopo </SharePoint>e prima di < system.web>
- Aggiungere fornitore di appartenenza e gestore di ruolo:
<roleManager defaultProvider= ” c ” abilitato=” vero “cacheRolesInCookie= “falso”>
<fornitori>
<aggiungi nome = ” c “tipo =” Microsoft.SharePoint.Amministrazione.Affermare.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Versione=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.Affermare.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />
<aggiungere connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hash” descrizione=”Archivia e Recupera i dati dei soci da SQL Server” name=”SQL-MembershipProvider” type=”System.Web.Sicurezza.SqlMembershipProvider, Sistema.Web, Versione=2.0.3600.0, Cultura = neutro, PublicKeyToken = b03f5f7f11d50a3a” />
</fornitori>
</adesione>
</sistema.web>
B. Modifica web.configurazione dell’applicazione web di Amministrazione centrale.
- Aggiungi stringa di connessione:
<Stringhe di connessione>
<add name = “SQLConnectionString” connectionString = ” data source = SQL; Integrated Security = SSPI;Catalogo iniziale = SQL-Auth” />
</connectionStrings>
La stringa di connessione deve essere aggiunta dopo </SharePoint>e prima di < system.web>
- Aggiungi Provider di appartenenza e Ruolo del Manager:
<roleManager defaultProvider=”AspNetWindowsTokenRoleProvider” enabled=”true” cacheRolesInCookie=”false”>
<fornitori>
<aggiungere connectionStringName=”SQLConnectionString” applicationName=”/” descrizione=”Memorizza e recupera i ruoli da SQL Server” name=”SQL-RoleManager” type=”System.Web.Sicurezza.SqlRoleProvider, Sistema.Web, Versione=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a” />
</fornitori>
</roleManager>
<appartenenza defaultProvider=”SQL-MembershipProvider”>
<fornitori>
<aggiungere connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hash” descrizione=”Archivia e Recupera i dati dei soci da SQL Server” name = “SQL-MembershipProvider” type = ” Sistema.Web.Sicurezza.SqlMembershipProvider, Sistema.Web, Versione=2.0.3600.0, Cultura=neutro, PublicKeyToken=b03f5f7f11d50a3a” />
</fornitori>
</appartenenza>
C. Modifica web.configurazione di STS. È possibile individuare il web STS.config from % 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.Affermare.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” />
<aggiungere connectionStringName=”SQLConnectionString” passwordAttemptWindow=”5″ enablePasswordRetrieval=”false” enablePasswordReset=”false” requiresQuestionAndAnswer=”true” applicationName=”/” requiresUniqueEmail=”true” passwordFormat=”Hash” descrizione=”Archivia e Recupera i dati dei soci da SQL Server” name=”SQL-MembershipProvider” type=”System.Web.Sicurezza.SqlMembershipProvider, Sistema.Web, Versione=2.0.3600.0, Cultura = neutro, PublicKeyToken = b03f5f7f11d50a3a” />
</fornitori>
</adesione>
</sistema.web>
Sopra deve essere aggiunto prima di < / configurazione>
IV> Concedere autorizzazioni agli utenti nel database SQL.
- Accedere alla console di amministrazione centrale e fare clic su Gestisci applicazioni Web in Gestione applicazioni.
- Selezionare l’applicazione Web e fare clic su Criteri utente sulla barra multifunzione.
- Fare clic su Aggiungi utente e selezionare la zona predefinita.
- Ora digitare il nome utente, aggiungere l’utente all’applicazione Web definendo l’autorizzazione appropriata.
Problemi comuni:
Se si utilizzano più account di servizio come da articolo TechNet Account amministrativi e di servizio necessari per la distribuzione iniziale (SharePoint Server 2010), è possibile che non sia possibile risolvere i nomi utente o aggiungere gli utenti all’applicazione Web. Se si utilizzano 3 account diversi (account amministratore della fattoria, account pool di applicazioni per l’applicazione Web e account applicazione di servizio), è necessario assicurarsi di avere accesso al database di appartenenza SQL (SQL-Auth).
Importante:
Cosa succede a FBA quando aggiorniamo WSS 3.0 / MOSS 2007 a SharePoint 2010?
Prima di eseguire l’aggiornamento a SharePoint 2010 è necessario rimuovere le modifiche apportate al Web.file di configurazione. Non appena il processo di aggiornamento termina tutte le applicazioni web verranno aggiornate; tuttavia, quelli useranno l’autenticazione in modalità classica. È possibile convertire le applicazioni Web dall’autenticazione in modalità classica all’autenticazione basata su attestazioni.
strumenti di terze parti: FBA Manager SP2010 (Forms Based Authentication) Dev-IT