Archivos Web.config de ejemplo para la autenticación basada en formularios LDAP
Actualizado: junio de 2007
Última modificación del tema: 2015-02-27
Al configurar la autenticación basada en formularios frente a un almacén de datos LDAP para Microsoft Office Project Server 2007, se debe especificar dónde se encuentra el almacén de datos y dónde, en la estructura de directorios, se almacenarán las cuentas de usuario para el sitio. Se pueden especificar estas opciones mediante el archivo de configuración (Web.config) del sitio web. Los mismos cambios también deben realizarse en el archivo Web.config para el sitio web de Administración central de SharePoint.
En este artículo se proporcionan dos ejemplos de cambios que es necesario que se produzcan en los archivos Web.config para la autenticación basada en formularios de Project Server 2007 frente a un almacén de datos LDAP. Para obtener más información acerca de cómo implementar los cambios, vea Creación de un sitio de Project Web Access que use la autenticación basada en formularios en un almacén de datos LDAP.
Ejemplo 1 de archivo Web.config
A continuación se incluye un ejemplo sencillo de la sección <membership>
que es necesario incluir en el archivo Web.config para un sitio con autenticación basada en formularios.
En este ejemplo básico, tendrá un único sitio que usa autenticación basada en formularios frente a un único proveedor de pertenencia. El almacén de directorios LDAP está ubicado en un equipo llamado "Contoso1" y está configurado para usar el puerto 50000. La autenticación se podría realizar contra objetos del userContainer
que coincidan con el userFilter
. En este caso, los objetos serían todos elementos del contenedor definidos mediante: 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>
En la siguiente tabla se describen los valores de los parámetros que se usan en el anterior ejemplo de archivo Web.config.
Parámetro | Descripción |
---|---|
|
Especifica el nombre del proveedor de pertenencia. Este valor debe coincidir con el nombre del proveedor de pertenencia especificado en la página Proveedores de autenticación de Administración central. En el ejemplo, |
|
Especifica el nombre del equipo que hospeda el servicio LDAP. En el ejemplo, este valor indica que el servicio de directorio se encuentra en el servidor |
|
Especifica el puerto en que LDAP está escuchando. El puerto predeterminado es 389. |
|
Especifica que no se usa SSL para las comunicaciones con el almacén de datos LDAP. Actualmente, sólo se admiten enlaces anónimos al proveedor LDAP. Asegúrese de que este valor está establecido en |
|
Atributo para el nombre distintivo (DN) del usuario. Este nombre aparece en Windows SharePoint Services). |
|
Atributo del objeto de nombre de usuario: en este caso un nombre común ( |
|
Define el nombre distintivo completo del contenedor para usuarios. |
|
Clase del objeto de usuario: en este caso, |
|
El filtro El filtro del ejemplo está configurado para resolver sólo con respecto a objetos de usuario. Podría tener grupos y otros objetos en el contenedor de unidades organizativas. |
|
Establece el ámbito de búsqueda de la selección. |
|
Otros atributos de usuario que se van a devolver. |
Ejemplo 2 de archivo Web.config
A continuación se incluye un ejemplo más complejo. En este escenario, la compañía usa dos sitios que usan autenticación basada en formularios: uno para una intranet y otro para una extranet. Cada sitio usa un proveedor de pertenencia LDAP diferente.
En este escenario, los archivos Web.config para Administración central, el sitio de intranet y el sitio de extranet deben configurarse de forma diferente. El archivo Web.config de cada sitio debe contener información para el proveedor de pertenencia LDAP específico necesario para que sus usuarios tengan acceso al sitio.
Archivo Web.config para Administración central
En este escenario, el archivo Web.config para Administración central debe disponer de información sobre ambos proveedores de pertenencia (LDAPMembership
y LDAPMembership2
). La sección <membership>
del archivo Web.config para Administración central es como sigue:
<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="(&(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>
Archivo Web.config para el sitio de la intranet
La sección <membership>
del archivo Web.config para el sitio de la intranet es como sigue:
<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>
El sitio de la intranet usa el proveedor de pertenencia LDAPMembership y se autentica frente a usuarios del contenedor CN=Users,OU=Support,O=fabricam,C=US.
Archivo Web.config para el sitio de la extranet
El proveedor de pertenencia para el sitio de la extranet se define como LDAPMembership2
. La sección <membership>
del archivo Web.config para el sitio de la extranet es como sigue:
<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="(&(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>
El sitio de la extranet usa el proveedor de pertenencia LDAPMembership2
y se autentica frente a usuarios en el mismo contenedor que LDAPMembership ("CN=Users,OU=Extranet,O=fabricam,C=US")
. Sin embargo, el sitio de la extranet usa el filtro ="(&(memberOf=CN=ProjectUsers,OU=Extranet,O=fabricam,C=US)(memberOf=CN=WSSUsers,OU=Extranet,O=fabricam,C=US))"
. Esto sólo autenticará a usuarios que se encuentren en los dos grupos, ProjectUsers
y WSSUsers
, definidos en el directorio. Asimismo, observe el código &
, que sustituye al habitual &
usado en las consultas LDAP.
El formato de las secciones <membership>
del ejemplo 2 es diferente del formato del ejemplo 1. Aunque contiene exactamente los mismos atributos, están en un orden distinto. El motivo es que el segundo ejemplo se ha editado mediante la interfaz de usuario del Administrador de Internet Information Services.
[!NOTA] Existe un problema debido al uso de la interfaz de usuario del Administrador de Internet Information Services. El elemento
<configuration>
se sobrescribe como<configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0">
y esto genera un error de la aplicación en Windows SharePoint Services. Para obtener más información, vea el artículo de Microsoft Knowledge Base (https://go.microsoft.com/fwlink/?linkid=92744&clcid=0xC0A).