Hace tiempo publicamos un post en el que se explicaban los pasos que hay que realizar para poder configurar en un mismo sitio SharePoint diferentes formas de autentificación, utilizando autentificación Windows para la zona intranet, con cuentas locales o de directorio activo y para la zona internet la autentificación basada en formularios, con cuentas de usuarios que estaban almacenadas en una base de datos utilizando los membership provider que nos proporciona ASP. Net 2.0.
Ahora vamos a explicar cómo podemos realizar este mismo proceso de acceder a un sitio de SharePoint utilizando diferentes formas de autentificación, pero en vez de utilizar cuentas de usuarios almacenadas en una base de datos, vamos a crearnos un membership provider para poder utilizar cuentas de usuarios de un segundo directorio activo diferente al que se está utilizando el propio servidor de SharePoint.
Para realizar esta configuración de habilitar la autentificación de usuarios contra varios AD hay que realizar los siguientes pasos:
1. Extender la aplicación web que queremos que tenga esta autentificación contra un segundo AD
2. Realizar los siguientes cambios en el web.config tanto de la administración central como de la propia aplicación web que hemos extendido. Este fichero normalmente se encuentra en c:\Inetpub\wwwroot\wss\VirtualDirectories\[puerto], pero para conocerlo realmente se puede consultar las propiedades del sitio de SharePoint en el IIS y consultar la ficha de Home Directory.
3. Insertamos las siguientes líneas de código en los ficheros:
- Después de la sección configSections ponemos la cadena de conexión con el segundo AD.
- Y dentro de la sección system.web establecemos el proveedor de autentificación que luego utilizaremos en SharePoint.
| <membership defaultProvider="ADProvider"> <providers> <add name="ADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ADConnString" connectionUsername="ciin.local\Administrator" connectionPassword="password" attributeMapUsername="SAMAccountName"/> </providers> </membership> |
Nota: Observar que la contraseña que se establece en el web.config del usuario con los permisos necesarios para acceder al segundo AD y validar al usuario va a estar en texto plano. En los siguientes links se explica como se puede encriptar esta información:
- How To: Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI
- How To: Encrypt Configuration Sections in ASP.NET 2.0 Using RSA
4. Cuando hayamos realizado estas modificaciones en los ficheros web.config tanto de la adminstración central como del sitio extendido, solo nos que da modificar el proveedor de autentificación de esta aplicación web desde la administración central y añadir a un usuario perteneciente a este segundo AD como administrador del sitio. Para ello vamos a realizar los siguientes pasos:
- Entrar en la Administración central de SharePoint y pulsar sobre la opción de 'Proveedores de autentificación' dentro del menú 'Seguridad de aplicaciones'
- Seleccionamos la zona de la aplicación web que hemos extendido y en la que queremos que tenga la autentificacion basada en formularios contra el segundo AD
- Modificamos los parámetros del tipo de autentificación estableciendolo el uso de formularios y luego ponemos el proveedor creado en el web.config ‘ADProvider’
- Por último nos queda añadir un usuario administrador perteneciente al segundo AD en la colección del sitio perteneciente a la aplicacion web extendida desde la opción de ‘Administradores de la colección de sitios’ del menú ‘Administración de sitios de SharePoint’.

Comparte este post: