Esempi di autenticazione

Contenuto dell'articolo:

  • Provider di appartenenze SQL

  • Provider di appartenenze Active Directory

  • Provider di appartenenze LDAP

  • SSO Web con ADFS

In questo articolo sono descritte le impostazioni di configurazione di esempio per alcuni fra i più comuni provider di autenticazione Forms e Single Sign-On (SSO) Web.

Provider di appartenenze SQL

Nella tabella seguente sono elencati esempi di voci del file Web.config per l'utilizzo dell'autenticazione Forms ASP.NET per la connessione a un provider di appartenenze SQL.

Passaggi di configurazione Descrizione ed esempi di voci del file Web.config

Attivare l'autenticazione Forms ASP.NET.

È possibile impostare il tipo di autenticazione Forms per una determinata area nella pagina Modifica autenticazione del sito Web Amministrazione centrale SharePoint.

Questa operazione modifica automaticamente in Forms la modalità specificata nell'elemento di autenticazione del file Web.config per l'area interessata.

Ad esempio:

<authentication mode="Forms">
</authentication>

Registrare il provider di appartenenze.

Se si utilizza il software del database di Microsoft SQL Server nel server locale come database del provider di appartenenze e si specifica AspNetSqlMembershipProvider come nome del provider di appartenenze, è possibile che non sia necessario apportare ulteriori modifiche al file Web.config. In questo scenario, se il file machine.config è configurato correttamente per AspNetSqlMembershipProvider, è possibile utilizzarlo per Windows SharePoint Services senza apportare alcuna modifica.

Se la configurazione predefinita del file machine.config non è applicabile, ad esempio se si desidera utilizzare un database di SQL Server in un server remoto, è necessario modificare i file Web.config sia per l'applicazione Web che per il sito Web Amministrazione centrale per specificare le informazioni di connessione nell'elemento connectionStrings per il database del provider di appartenenze.

Ad esempio:

<connectionStrings>

<add name="SqlProviderConnection" connectionString="server=SQLSERVERMACHINE;database=aspnetdb;Trusted_Connection=True" />

</connectionStrings>

Sostituire *SQLSERVERMACHINE* con il nome del computer server in cui è installato il database delle appartenenze di SQL Server.

Successivamente aggiungere gli elementi membership e providers per registrare il provider di appartenenze nel file Web.config. Poiché un provider predefinito è già registrato nel file machine.config, è necessario includere un elemento <remove> prima dell'elemento <add>.

Ad esempio:

<membership defaultProvider="AspNetSqlMembershipProvider">

<providers>

<remove name="AspNetSqlMembershipProvider" />

<add connectionStringName="SqlProviderConnection" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</membership>

L'elemento membership deve essere incluso nell'elemento system.web del file Web.config sia per l'applicazione Web sia per il sito Amministrazione centrale.

Registrare il manager ruoli (facoltativo).

È possibile utilizzare il provider di ruoli predefinito per ASP.NET aggiungendo un elemento roleManager all'elemento system.web del file Web.config. Ad esempio:

<roleManager enabled="true" />

La sintassi precedente utilizza AspNetSqlRoleProvider, che è definito nel file machine.config. Questo manager ruoli può connettersi al database ASPNETDB nell'istanza sia locale che remota di SQL Server. Se si desidera utilizzare un database di SQL Server in un server remoto come database del provider di ruoli, è necessario modificare il file Web.config specificando le informazioni di connessione per il server del database remoto.

Ad esempio:

<connectionStrings>

<add

name="SqlProviderConnection"

connectionString="server=SQLSERVERMACHINE; database=aspnetdb; Trusted_Connection=True"

/>

</connectionStrings>

Sostituire *SQLSERVERMACHINE* con il nome del server remoto che ospita il database SQL. È possibile specificare lo stesso valore dell'elemento connectionStringName sia per il provider di appartenenze che per il manager ruoli, in modo che non sia necessario aggiungere un nuovo elemento connectionStrings per il provider di ruoli. Se tuttavia si desidera utilizzare un database diverso per il provider di ruoli, è necessario aggiungere un elemento connectionStrings separato per il provider di ruoli.

Successivamente è necessario aggiungere gli elementi roleManager e providers per registrare il provider roleManager nel file Web.config. Poiché un provider predefinito è già registrato nel file machine.config, è necessario includere un elemento <remove> prima dell'elemento <add>.

Ad esempio:

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">

<providers>

<remove name="AspNetSqlRoleProvider" />

<add connectionStringName="SqlProviderConnection" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</roleManager>

L'elemento roleManager deve essere incluso nell'elemento system.web del file Web.config sia per l'applicazione Web sia per il sito Web Amministrazione centrale.

Registrare il modulo HTTP.

Non applicabile

Provider di appartenenze Active Directory

Nella tabella seguente sono elencati esempi di voci del file Web.config per l'utilizzo dell'autenticazione Forms ASP.NET e di un provider di appartenenze servizio directory Active Directory.

Nota

Questo provider funzionerà solo in uno scenario con un singolo dominio.

Passaggi di configurazione Descrizione ed esempi di voci del file Web.config

Attivare l'autenticazione Forms ASP.NET.

È possibile impostare il tipo di autenticazione Forms per una determinata area nella pagina Modifica autenticazione di Amministrazione centrale.

Questa operazione modifica automaticamente in Forms la modalità specificata nell'elemento di autenticazione del file Web.config per l'area interessata.

Ad esempio:

<authentication mode="Forms">
</authentication>

È inoltre possibile specificare l'URL della pagina di accesso nell'elemento Forms, ad esempio:

<authentication mode="Forms">
    <forms loginUrl="/_layouts/login.aspx"></forms>
</authentication>

Registrare il provider di appartenenze.

Se si desidera utilizzare un server Active Directory per un provider di appartenenze, è necessario modificare il file Web.config per registrare il provider di appartenenze. A tale scopo è necessario specificare le informazioni di connessione per il server Active Directory nell'elemento connectionStrings.

Ad esempio:

<connectionStrings>

<add name="ADConnectionString"

connectionString=

"LDAP://DirectoryServer/CN=Users,DC=DirectoryServer " />

</connectionStrings>

Sostituire *DirectoryServer* con il nome del server della directory di appartenenza.

<membership defaultProvider="MembershipADProvider">

<providers>

<add name="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

connectionStringName="ADConnectionString"/></providers>

</membership>

Nota

Nell'esempio precedente non sono specificate le credenziali dell'account. Se non si specificano le credenziali dell'account, per accedere ad Active Directory viene utilizzata l'identità di processo dell'applicazione.

Se è necessario un altro account per accedere ad Active Directory, è possibile specificare credenziali diverse negli attributi connectionUsername e connectionPassword, il che significa specificare il nome utente e la password in testo normale. Di conseguenza è consigliabile crittografare questa sezione di configurazione. Per ulteriori informazioni vedere gli articoli seguenti:

Registrare il manager ruoli (facoltativo).

Registrare il modulo HTTP.

Non applicabile

Provider di appartenenze LDAP

Nella tabella seguente sono elencati esempi di voci del file Web.config per l'utilizzo dell'autenticazione Forms ASP.NET con un provider di appartenenze LDAP (Lightweight Directory Access Protocol).

Passaggi di configurazione Descrizione ed esempi di voci del file Web.config

Attivare l'autenticazione Forms ASP.NET.

È possibile impostare il tipo di autenticazione Forms per una determinata area nella pagina Modifica autenticazione di Amministrazione centrale.

Questa operazione modifica automaticamente in Forms la modalità specificata nell'elemento di autenticazione del file Web.config per l'area interessata.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Registrare il provider di appartenenze.

L'elemento membership deve essere incluso nell'elemento system.web del file Web.config.

<membership defaultProvider="LdapMembershipProvider">

<providers>

<add

name="LdapMembership"

type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"

server="DC"

port="389"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="sAMAccountName"

userContainer="CN=Users,DC=userName,DC=local"

userObjectClass="person"

userFilter="(|(ObjectCategory=group)(ObjectClass=person))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn"

/>

</providers>

</membership>

Sarà necessario modificare i valori specificati per gli attributi server e userContainer in base all'ambiente.

Registrare il manager ruoli (facoltativo).

<roleManager defaultProvider="LdapRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".PeopleDCRole">

<providers>

<add

name="LdapRoleProvider"

type="Microsoft.Office.Server.Security.LDAPRoleProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"

server="DC"

port="389"

useSSL="false"

groupContainer="DC=userName,DC=local"

groupNameAttribute="cn"

groupMemberAttribute="member"

userNameAttribute="sAMAccountName"

dnAttribute="distinguishedName"

groupFilter="(ObjectClass=group)"

scope="Subtree"

/>

</providers>

</roleManager>

Sarà necessario modificare i valori specificati per gli attributi server e groupContainer in base all'ambiente.

Registrare il modulo HTTP.

Non applicabile

SSO Web con ADFS

Il sistema operativo Microsoft Windows Server 2003 R2 introduce Active Directory Federation Services (ADFS), che consente alle organizzazioni di condividere in modo sicuro le informazioni sull'identità di un utente. ADFS fornisce tecnologie Single Sign-On (SSO) Web per autenticare un utente in più applicazioni Web durante una singola sessione in linea.

Le seguenti coppie di appartenenza e provider di ruoli sono incluse in ADFS:

  • SingleSignOnMembershipProvider/SingleSignOnRoleProvider   Provider di appartenenze e provider di ruoli standard inclusi in Windows Server 2003 R2.

  • SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2   Provider di appartenenze e provider di ruoli che operano in ambienti di trust parziale. Tali provider sono inclusi nel Service Pack 2 di Windows Server 2003 R2.

SingleSignOnMembershipProvider/SingleSignOnRoleProvider

Nella tabella seguente sono elencati esempi di voci del file Web.config per un ambiente SSO Web con ADFS che utilizza il provider standard.

Passaggi di configurazione Descrizione ed esempi di voci del file Web.config

Attivare l'autenticazione Forms ASP.NET.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Registrare il provider di appartenenze.

<membership defaultProvider="SingleSignOnMembershipProvider">

<providers>

<add

name="SingleSignOnMembershipProvider"

type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</membership>

Per l'attributo fs sostituire *FEDERATIONSERVER* con il nome effettivo del server.

L'elemento membership deve essere incluso nell'elemento system.web del file Web.config.

Registrare il manager ruoli (facoltativo).

<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider">

<providers>

<add

name="SingleSignOnRoleProvider"

type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</roleManager>

Per l'attributo fs sarà necessario sostituire *FEDERATIONSERVER* con il nome effettivo del server.

Registrare il modulo HTTP.

<httpModules>

<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />

</httpModules>

SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2

Se si sta implementando il secondo provider ADFS impostato, le impostazioni per la registrazione del provider di appartenenze e del manager ruoli sono diverse. Nella tabella seguente sono elencati esempi di voci del file Web.config per un ambiente SSO Web con ADFS che utilizza il provider che opera in ambienti di trust parziale.

Passaggi di configurazione Descrizione ed esempi di voci del file Web.config

Attivare l'autenticazione Forms ASP.NET.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Registrare il provider di appartenenze.

<membership defaultProvider="SingleSignOnMembershipProvider2">

<providers>

<add name="SingleSignOnMembershipProvider2"

type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs=https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx

/>

</providers>

</membership>

Per l'attributo fs sostituire *FEDERATIONSERVER* con il nome effettivo del server.

L'elemento membership deve essere incluso nell'elemento system.web del file Web.config.

Registrare il manager ruoli (facoltativo).

<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">

<providers>

<add

name="SingleSignOnRoleProvider2"

type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</roleManager>

Per l'attributo fs sarà necessario sostituire FEDERATIONSERVER con il nome effettivo del server.

Registrare il modulo HTTP.

<httpModules>

<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />

</httpModules>

Scaricare il manuale

Questo argomento è incluso nel manuale seguente, che può essere scaricato per una lettura e una stampa più agevoli:

Per un elenco completo dei manuali disponibili che è possibile scaricare per Office SharePoint Server 2007, vedere Downloadable content for Office SharePoint Server 2007 (informazioni in lingua inglese).