File Web.config di esempio per l'autenticazione basata su form in base a un archivio dati LDAP

Aggiornamento: giugno 2007

 

Ultima modifica dell'argomento: 2015-02-27

Quando si configura l'autenticazione basata su form in base a un archivio dati LDAP per Microsoft Office Project Server 2007, è necessario specificare la posizione dell'archivio dati e il percorso all'interno della struttura della directory in cui memorizzare gli account utente per il sito. Queste impostazioni si specificano utilizzando il file di configurazione del sito Web (Web.config). Le stesse modifiche devono inoltre essere apportate al file Web.config relativo al sito Web Amministrazione centrale SharePoint.

In questo articolo vengono illustrati due esempi di modifiche che è necessario apportare nei file Web.config per l'autenticazione basata su form in base a un archivio dati LDAP per Project Server 2007. Per ulteriori informazioni sull'implementazione di queste modifiche, vedere Creare un sito di Project Web Access che utilizza l'autenticazione basata su form in un archivio dati LDAP.

Esempio 1 di file Web.config

Di seguito è illustrato un semplice esempio della sezione <membership> che è necessario inserire nel file Web.config di un sito con autenticazione basata su form.

In questo esempio si dispone di un unico sito che utilizza l'autenticazione basata su form in base a un singolo provider di appartenenze. L'archivio directory LDAP si trova in un computer denominato "Contoso1" e configurato per l'utilizzo della porta 50000. L'autenticazione verrà effettuata in base agli oggetti in userContainer che corrispondono al filtro userFilter. In questo caso, gli oggetti sono tutti gli elementi inclusi nel contenitore definito da: CN=Users,OU=WSS,O=nondomain,C=US.

<membership defaultProvider="LDAPMembership">

<providers>

<add

name="LDAPMembership"

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

server="Contoso1"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=Contoso,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" />

</providers>

</membership>

Nella tabella seguente vengono illustrati i valori dei parametri utilizzati nel file Web.config dell'esempio precedente.

Parametro Descrizione

name="LDAPMembership"

Specifica il nome del provider di appartenenze. Questo valore deve corrispondere al nome del provider di appartenenze specificato nella pagina Provider di autenticazione in Amministrazione centrale. In questo esempio "LDAPMembership" è il valore per il nome del provider di appartenenze.

server="Contoso1"

Specifica il nome del computer che ospita il servizio LDAP. Nell'esempio questo valore indica che il servizio directory si trova nel server "Contoso1". Potrebbe essere ad esempio un'istanza di ADAM (Active Directory Application Mode) o un controller di dominio in un ambiente di servizio directory Active Directory per Windows Server.

port="50000"

Specifica la porta di ascolto LDAP. La porta predefinita è 389.

useSSL="false"

Specifica che per comunicare con l'archivio dati LDAP non viene utilizzato SSL.

Sono attualmente supportate solo le associazioni anonime al provider LDAP. Verificare che questo valore sia impostato su false.

userDNAttribute="distinguishedName"

Attributo per il nome distinto dell'utente. Questo nome viene visualizzato in Windows SharePoint Services.

userNameAttribute="cn"

Attributo dell'oggetto nome utente, in questo caso un nome comune (cn).

userContainer="CN=Users,OU=WSS,O=nondomain,C=US"

Definisce il nome distinto completo del contenitore per gli utenti.

userObjectClass="user"

Classe dell'oggetto utente, in questo caso user.

userFilter="(ObjectClass=user)"

userFilter è un filtro standard per le query LDAP e può essere impostato per controllare un sottoinsieme di utenti in base ai quali effettuare l'autenticazione.

Nell'esempio il filtro è configurato per risolvere le query solo in base agli oggetti utente. Il contenitore OU potrebbe tuttavia includere gruppi e altri oggetti.

scope="Subtree"

Imposta l'ambito di ricerca della selezione.

otherRequiredUserAttributes="sn,givenname,cn" />

Altri attributi da restituire. sn è il cognome. givenname è il nome. cn è il nome distinto relativo costituito da altri due attributi, ad esempio "Luca Dellamore".

Esempio 2 di file Web.config

Di seguito è riportato un esempio più complesso. In questo scenario la società utilizza due siti con autenticazione basata su form: uno per una rete Intranet e l'altro per una rete Extranet. Ogni sito utilizza un provider di appartenenze LDAP distinto.

In questo scenario è necessario configurare in modo diverso i file Web.config per Amministrazione centrale, per il sito Intranet e per il sito Extranet. Il file Web.config di ogni sito deve contenere le informazioni per il provider di appartenenze LDAP specifico, necessarie per consentire ai relativi utenti di accedere al sito.

File Web.config per Amministrazione centrale

In questo scenario il file Web.config per Amministrazione centrale deve includere le informazioni su entrambi i provider di appartenenze (LDAPMembership e LDAPMembership2). La sezione <membership> del file Web.config relativo ad Amministrazione centrale è la seguente:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=fabricam,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership"

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

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Extranet,O=fabricam,C=US"

userObjectClass="user"

userFilter="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership2"

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

</providers>

</membership>

File Web.config per il sito Intranet

La sezione <membership> del file Web.config per il sito Intranet è la seguente:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Support,O=fabricam,C=US"

userObjectClass="user"

userFilter="(ObjectClass=user)"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership"

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

</providers>

</membership>

Il sito Intranet utilizza il provider di appartenenze LDAPMembership ed effettua l'autenticazione in base gli utenti nel contenitore CN=Users,OU=Support,O=fabricam,C=US.

File Web.config per il sito Extranet

Il provider di appartenenze per il sito Extranet è definito come LDAPMembership2. La sezione <membership> del file Web.config per il sito Extranet è la seguente:

<membership defaultProvider="LDAPMembership">

<providers>

<add

server="ps2007ldap"

port="50000"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="cn"

userContainer="CN=Users,OU=Extranet,O=fabricam,C=US"

userObjectClass="user"

userFilter="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn" name="LDAPMembership2"

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

</providers>

</membership>

Il sito Extranet utilizza il provider di appartenenze LDAPMembership2 ed effettua l'autenticazione in base agli utenti inclusi nello stesso contenitore di LDAPMembership ("CN=Users,OU=Extranet,O=fabricam,C=US"). Il sito Extranet utilizza tuttavia il filtro ="(&amp;(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))". In questo modo, verranno autenticati solo gli utenti inclusi nei gruppi ProjectUsers e WSSUsers definiti nella directory. Si noti anche &amp;, che sostituisce & utilizzato generalmente nelle query LDAP.

Il formato delle sezioni <membership> nell'esempio 2 è diverso da quello nell'esempio 1. Contiene esattamente gli stessi attributi, ma in un altro ordine. Questo perché il secondo esempio è stato modificato utilizzando l'interfaccia utente di Gestione Internet Information Services.

[!NOTA] Si è verificato un problema dovuto all'utilizzo dell'interfaccia utente di Gestione Internet Information Services. L'elemento <configuration> viene riscritto come <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> e questo provoca un errore dell'applicazione in Windows SharePoint Services. Per ulteriori informazioni, vedere l'articolo della Knowledge Base 917238 (https://go.microsoft.com/fwlink/?linkid=92744&clcid=0x410).