Compartir a través de


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

name="LDAPMembership"

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, "LDAPMembership" es el valor para el nombre del proveedor de pertenencia.

server="Contoso1"

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 "Contoso1". Por ejemplo, esto podría ser una instancia de Active Directory Application Mode (ADAM) o un controlador de dominio en un entorno de servicio de directorio de Active Directory de Windows Server.

port="50000"

Especifica el puerto en que LDAP está escuchando. El puerto predeterminado es 389.

useSSL="false"

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 false.

userDNAttribute="distinguishedName"

Atributo para el nombre distintivo (DN) del usuario. Este nombre aparece en Windows SharePoint Services).

userNameAttribute="cn"

Atributo del objeto de nombre de usuario: en este caso un nombre común (cn).

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

Define el nombre distintivo completo del contenedor para usuarios.

userObjectClass="user"

Clase del objeto de usuario: en este caso, user.

userFilter="(ObjectClass=user)"

El filtro userFilter es un filtro estándar para las consultas LDAP que se puede establecer para controlar un subconjunto de usuarios que deben estar disponibles para la autenticación. .

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.

scope="Subtree"

Establece el ámbito de búsqueda de la selección.

otherRequiredUserAttributes="sn,givenname,cn" />

Otros atributos de usuario que se van a devolver. sn es el nombre de familia (o apellido). givenname es el primer nombre. cn es el nombre distintivo (DN) relativo construido a partir de los otros dos atributos (por ejemplo, "Arturo López").

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="(&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>

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="(&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>

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 ="(&amp;(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 &amp;, 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).