Turn on more accessible mode
Skip Ribbon Commands
Skip to main content
Turn on Animations

Configuración de SharePoint con varios modelos de autentificación

Infraestructura


Articulo de Pablo Sousa Lastra sobre autentificacion utilizando diferentes metodos
Autor: Pablo Sousa Lastra

Nota: Articulo de Pablo Sousa Lastra publicado en el Blog del Centro de Innovacion en Integracion - CIIN.

Vamos a explicar los pasos que hay que seguir para configurar dentro de en un mismo sitio SharePoint diferentes formas de autentificación, ya que es una situación típica en escenarios de intranet/internet, que necesitan autentificación Windows (mediante directorio activo o cuentas locales) para su zona intranet y para internet, habilitar el acceso anónimo y la autentificación basada en formularios, que la conseguimos gracias a los Membership Provider que nos proporciona ASP.Net 2.0.

Para poder configurar todo nuestro escenario, vamos a realizar los siguientes pasos:

1. Creación de dos Web Applications, una para cada modelo de autentificación

2. Generación de una base de datos en un servidor SQL para almacenar las cuentas de usuarios y roles.

3. Cambiar el modo de autentificación de la Web Application correspondiente a la zona internet para que disponga de acceso anónimo y poder validarse con los usuarios creados en la base de datos.

Creación del sitio intranet à http://wssgob.com

Una vez que hayamos terminado de instalar y configurar Windows SharePoint Services v3 (ó la versión de MOSS) en nuestro entorno de servidores, vamos a crear una nueva Web Application con su correspondiente colección de sitios. Para ello desde el sitio de la Administración Central de SharePoint, seleccionamos en la ficha de Application Management la opción de Create or Extend Web Application, pulsamos sobre Create a New Web Application y rellenamos el formulario con los siguientes parámetros:

· Descripción: wssgob.com
· Puerto: 80
· Authentication Provider: NTLM
· Acceso Anónimo: No

· Por último los correspondiente parámetros de acceso al servidor SQL para alojar la base de datos de contenido del sitio

Después de crear la Web application, crearemos una colección de sitios asociada a esta Web application, entrando en la ficha de Application Management pulsamos la opción Create Site Collection y después la configuramos con los siguientes datos:

· Web Application: http://wssgob.com
· Título: CIIN
· Plantilla: Team Site

Hasta ahora lo que hemos realizado es una web application con su correspondiente colección de sitios, http://wssgob, configurada mediante autentificación Windows y cuentas de directorio activo, que es la que SharePoint utiliza por defecto.

Creación del sitio internet à http://internet.wssgob.com

Después de comprobar que nuestro sitio intranet funciona correctamente, vamos a extender la web application a otro sitio web del IIS, que será el que configuremos con acceso anónimo y la autentificación basada en formularios.

Para extender la Web Application de la intranet a un nuevo sitio web del IIS, tenemos que ir a la Administración Central de SharePoint, seleccionar en la ficha de Application Management la opción de Create or Extend Web Application, pulsamos sobre Extend an Existing Web Application. Al rellenar estos datos tenemos que prestar atención a la web application que estemos seleccionando, ya que tiene que ser la correspondiente a la de la zona intranet que hemos creado en el apartado anterior.

· Web Application: http://wssgob.com
· Puerto: 80
· Host Header: internet.wssgob.com
· Authentication Provider: NTLM
· Acceso Anónimo: No
· Zona: Internet

Creación de la base de datos para almacenar los usuarios

El siguiente paso para la configuración de nuestro escenario con dos formas de autentificación, siendo una de ellas la basada en formularios, es la creación de la base de datos que aloje la información de los usuarios y roles que generemos. Microsoft proporciona un comando aspnet_regsql.exe que está disponible con la instalación del .Net framework 2.0, que realiza todo el trabajo de creación de las tablas necesarias en un servidor SQL. En este paso podríamos crearnos una base de datos personalizada, en un servidor de bases de datos diferentes, etc... El procedimiento para crearla lo podemos ver en este Link.

Para crear la base de datos con este comando seguimos los siguientes pasos:

1. Abrir una consola de símbolo de sistema y acceder a la carpeta de %windir%\Microsoft.NET\Framework\v2.0.5027

2. Ejecutar el siguiente comando aspnet_regsql –A all –E

Descripción de los parámetros:
· A all: Especifica que queremos instalar la feature de usuarios y roles
· E: Indica que usaremos autentificación Windows para conectar al SQL Server
Para ver el resto de parámetros que se pueden utilizar ejecutar aspnet_regsql /?

3. Este comando nos creará la base de datos aspnetdb en el servidor SQL local en donde lo ejecutemos.

Una vez que tengamos creada la base de datos tendremos que crear los primeros usuarios y roles, para ello existen varios métodos. El primero sería terminar de configurar nuestro sitio SharePoint para con los dos modelos de autentificación y después crear una página aspx dentro de la administración central con SharePoint Designer y agregando un control de ASP.Net para crear usuarios en base de datos,

El otro método es realizarlo desde Visual Studio, creando un nuevo sitio web y configurar el web.config para que acceda a la base de datos del servidor SQL y así, desde la opción de ASP.Net Configuration del menú de Visual Studio acceder al sitio web de la administración de ASP.Net y poder crear los usuarios y roles.

Habilitar la autentificación basada en formularios a Web Applications de la zona internet

Una vez que ya tenemos creadas las dos web applications y la base de datos que va a almacenar a los usuarios y roles, necesitamos modificar el fichero de configuración web.config del sitio de la zona internet y el de la administración central de SharePoint para que pueda acceder a la base de datos y poder utilizar la autentificación basada en formularios.

Editamos el web.config de la web application que queremos que tenga este método de autentificación de la siguiente manera:

· Crearemos una copia de seguridad del fichero de configuración, web.config
· Abrimos el fichero y debajo de la etiqueta de añadimos la cadena de conexión de la base de datos:

· Después, dentro de la etiqueta , ponemos el código para configurar la creación de los usuario y roles:

· Al acabar, guardamos el fichero y lo cerramos

Una vez que ya hemos modificado el web.config de la web application que queremos que tenga la validación por formularios, debemos realizar estos mismos pasos en el fichero de configuración web.config del sitio donde está alojado la administración central de SharePoint, modificando solamente la línea donde se especifica el administrador de los roles:

Después de realizar estas modificaciones a los ficheros de configuración, tan solo queda cambiar los parámetros de autentificación la web application del sitio de la zona de internet para que utilice la autentificación basada en formularios que acabamos de crear.

Para realizarlo, abrimos la administración central de SharePoint, y en la pestaña de Application Management pulsamos sobre Authentication Provider. Lo primero que debemos hacer es seleccionar la web application correcta en la parte superior, y como observamos en la imagen están la dos zona configuradas mediante autentificación Windows:

Cuando ya hemos seleccionado la Web Application correcta, pulsamos sobre la zona internet y modificamos los parámetros de la autentificación que está utilizando, cambiándolo para que tenga autentificación basada en formularios y permitiendo el acceso anónimo:

· Tipo de autentificación: Forms
· Acceso Anónimo: Si
· Membership Provider Name: AspNetSqlMembershipProvider
· Role Manager Name: AspNetSqlRoleProvider

Los valores de Membership Provider y de Role Manager son los que hemos definido en los ficheros de configuración web.config en el paso anterior.

Al acabar de realizar todos estos pasos habremos finalizado la configuración de nuestro sitio SharePoint para que disponga dos formas diferentes de acceso, cada una de ellas con un método de autentificación diferente:

· http://wssgob.com, autentificación Windows (Cuentas de usuario de directorio Activo o cuentas locales)
· http://internet.wssgob.com, Acceso anónimo o autentificación basada en formularios