Compartir a través de


Ejemplos de autenticación

En este artículo:

  • Proveedor de pertenencia de SQL

  • Proveedor de pertenencia de Active Directory

  • Proveedor de pertenencia de LDAP

  • Inicio de sesión web único con AD FS

En este artículo se ofrecen ejemplos de opciones de configuración para varios proveedores de autenticación mediante formularios e inicio de sesión web único.

Proveedor de pertenencia de SQL

En la siguiente tabla se muestran ejemplos de entradas del archivo Web.config para usar la autenticación mediante formularios de ASP.NET para conectar con un proveedor de pertenencia de SQL.

Pasos de la configuración Descripción y ejemplos de entradas del archivo Web.config

Active la autenticación mediante formularios de ASP.NET.

Puede establecer el tipo de autenticación de una zona concreta en la autenticación mediante formularios en la página Editar autenticación del sitio web de Administración central de SharePoint.

Así, se cambia automáticamente a formularios el modo especificado en el elemento de autenticación del archivo Web.config para esa zona.

Por ejemplo:

<authentication mode="Forms">
</authentication>

Registre el proveedor de pertenencia.

Si usa software de base de datos de Microsoft SQL Server en el servidor local como base de datos del proveedor de pertenencia y especifica AspNetSqlMembershipProvider como nombre de dicho proveedor, quizás no sea necesario realizar ningún otro cambio en el archivo Web.config. En ese caso, si el archivo machine.config tiene la configuración correcta para AspNetSqlMembershipProvider, puede usarla para Windows SharePoint Services sin hacer cambios.

Si no es aplicable la configuración predeterminada del archivo machine.config (por ejemplo, si desea usar una base de datos de SQL Server en un servidor remoto), debe editar los archivos Web.config de la aplicación web y del sitio web de Administración central para especificar la información de conexión en el elemento connectionStrings de la base de datos del proveedor de pertenencia.

Por ejemplo:

<connectionStrings>

<add name="SqlProviderConnection" connectionString="server=SQLSERVERMACHINE;database=aspnetdb;Trusted_Connection=True" />

</connectionStrings>

Sustituya SQLSERVERMACHINE por el nombre del servidor en que ha instalado la base de datos de pertenencia de SQL Server.

A continuación, agregue los elementos membership y providers para registrar el proveedor de pertenencia en el archivo Web.config. Como ya hay un proveedor predeterminado registrado en el archivo machine.config, debe incluir el elemento <remove> antes que el elemento <add>.

Por ejemplo:

<membership defaultProvider="AspNetSqlMembershipProvider">

<providers>

<remove name="AspNetSqlMembershipProvider" />

<add connectionStringName="SqlProviderConnection" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</membership>

El elemento membership se debe incluir dentro del elemento system.web del archivo Web.config de la aplicación web y del sitio de Administración central.

Registre el administrador de funciones (opcional).

Puede usar el proveedor de funciones predeterminado de ASP.NET si agrega un elemento roleManager al elemento system.web del archivo Web.config. Por ejemplo:

<roleManager enabled="true" />

En la sintaxis anterior se usa AspNetSqlRoleProvider, que está definido en el archivo machine.config. Este administrador de funciones se puede conectar a la base de datos ASPNETDB en la instancia local o en la instancia remota de SQL Server. Si desea usar una base de datos de SQL Server de un servidor remoto como base de datos de proveedor de funciones, debe editar el archivo Web.config para especificar la información de conexión del servidor de base de datos remoto.

Por ejemplo:

<connectionStrings>

<add

name="SqlProviderConnection"

connectionString="server=SQLSERVERMACHINE; database=aspnetdb; Trusted_Connection=True"

/>

</connectionStrings>

Sustituya *SQLSERVERMACHINE* por el nombre del servidor remoto en que se encuentra la base de datos de SQL. Puede especificar el mismo valor del elemento connectionStringName para el proveedor de pertenencia y el administrador de funciones, de manera que no tiene que agregar otro elemento connectionStrings para el proveedor de funciones. Sin embargo, si desea usar otra base de datos para el proveedor de funciones, debe agregar un elemento connectionStrings aparte para el proveedor de funciones.

A continuación, tiene que agregar los elementos roleManager y providers para registrar el proveedor roleManager en el archivo Web.config. Como ya hay un proveedor predeterminado registrado en el archivo machine.config, tiene que incluir un elemento

<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">

<providers>

<remove name="AspNetSqlRoleProvider" />

<add connectionStringName="SqlProviderConnection" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</providers>

</roleManager>

El elemento roleManager se debe incluir dentro del elemento system.web del archivo Web.config de la aplicación web y del sitio web de Administración central.

Registre el módulo HTTP.

No es aplicable

Proveedor de pertenencia de Active Directory

En la siguiente tabla se muestran ejemplos de entradas del archivo Web.config para usar la autenticación mediante formularios de ASP.NET para conectar con un proveedor de pertenencia del servicio de directorio de Active Directory.

Nota

Este método sólo funcionará en los casos en que haya un solo dominio.

Pasos de la configuración Descripción y ejemplos de entradas del archivo Web.config

Active la autenticación mediante formularios de ASP.NET.

Puede establecer el tipo de autenticación de una zona concreta en la autenticación mediante formularios en la página Editar autenticación de Administración central.

Así se cambia automáticamente a formularios el modo especificado en el elemento de autenticación del archivo Web.config para esa zona.

Por ejemplo:

<authentication mode="Forms">
</authentication>

También puede especificar la dirección URL de la página de inicio de sesión en el elemento de formularios, por ejemplo:

<authentication mode="Forms">
    <forms loginUrl="/_layouts/login.aspx"></forms>
</authentication>

Registre el proveedor de pertenencia.

Si desea usar un servidor de Active Directory como proveedor de pertenencia, debe editar el archivo Web.config para registrar el proveedor de pertenencia. Para ello, debe especificar la información de conexión con el servidor de Active Directory en el elemento connectionStrings.

Por ejemplo:

<connectionStrings>

<add name="ADConnectionString"

connectionString=

"LDAP://DirectoryServer/CN=Users,DC=DirectoryServer " />

</connectionStrings>

Sustituya DirectoryServer por el nombre del servidor del directorio de pertenencia.

<membership defaultProvider="MembershipADProvider">

<providers>

<add name="MembershipADProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

connectionStringName="ADConnectionString"/></providers>

</membership>

Nota

En el ejemplo anterior no se especifican las credenciales de la cuenta. Si no especifica las credenciales de la cuenta, se usa la identidad del proceso de la aplicación para tener acceso a Active Directory.

Si se necesita otra cuenta para tener acceso a Active Directory, puede especificar otras credenciales de cuenta en los atributos connectionUsername y connectionPassword, lo que significa que proporciona el nombre de usuario y la contraseña como texto sin formato. Por ello, recomendamos que cifre esta sección de configuración. Para obtener más información, vea los siguientes artículos:

Registre el administrador de funciones (opcional).

Registre el módulo HTTP.

No es aplicable

Proveedor de pertenencia de LDAP

En la siguiente tabla se muestran ejemplos de entradas del archivo Web.config para usar la autenticación mediante formularios de ASP.NET con un proveedor de pertenencia de LDAP (Protocolo ligero de acceso a directorios).

Pasos de la configuración Descripción y ejemplos de entradas del archivo Web.config

Active la autenticación mediante formularios de ASP.NET.

Puede establecer el tipo de autenticación de una zona concreta en la autenticación mediante formularios en la página Editar autenticación de Administración central.

Así se cambia automáticamente a formularios el modo especificado en el elemento de autenticación del archivo Web.config para esa zona.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Registre el proveedor de pertenencia.

El elemento membership tiene que estar incluido dentro del elemento system.web del archivo Web.config.

<membership defaultProvider="LdapMembershipProvider">

<providers>

<add

name="LdapMembership"

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

server="DC"

port="389"

useSSL="false"

userDNAttribute="distinguishedName"

userNameAttribute="sAMAccountName"

userContainer="CN=Users,DC=userName,DC=local"

userObjectClass="person"

userFilter="(|(ObjectCategory=group)(ObjectClass=person))"

scope="Subtree"

otherRequiredUserAttributes="sn,givenname,cn"

/>

</providers>

</membership>

Tendrá que cambiar los valores de los atributos server y userContainer para que sean los de su entorno.

Registre el administrador de funciones (opcional).

<roleManager defaultProvider="LdapRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".PeopleDCRole">

<providers>

<add

name="LdapRoleProvider"

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

server="DC"

port="389"

useSSL="false"

groupContainer="DC=userName,DC=local"

groupNameAttribute="cn"

groupMemberAttribute="member"

userNameAttribute="sAMAccountName"

dnAttribute="distinguishedName"

groupFilter="(ObjectClass=group)"

scope="Subtree"

/>

</providers>

</roleManager>

Tendrá que cambiar los valores de los atributos server y groupContainer para que sean los de su entorno.

Registre el módulo HTTP.

No es aplicable

Inicio de sesión web único con AD FS

El sistema operativo Microsoft Windows Server 2003 R2 incluye los Servicios de federación de Active Directory (AD FS), que permiten a las organizaciones compartir la información de identidad de un usuario de forma segura. AD FS proporciona tecnologías de inicio de sesión web único para autenticar a un usuario en varias aplicaciones web durante una sesión en línea.

En AD FS se incluyen los dos pares siguientes de proveedor de pertenencia y de funciones:

  • SingleSignOnMembershipProvider/SingleSignOnRoleProvider   Son los proveedores estándar de pertenencia y de funciones incluidos en Windows Server 2003 R2.

  • SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2   Son los proveedores de pertenencia y de funciones que se usan en entornos que no son de confianza total. Están incluidos en el Service Pack 2 de Windows Server 2003 R2.

SingleSignOnMembershipProvider/SingleSignOnRoleProvider

En la siguiente tabla se muestran ejemplos de entradas del archivo Web.config para un entorno de inicio de sesión web único con AD FS que usa el proveedor estándar.

Pasos de la configuración Descripción y ejemplos de entradas del archivo Web.config

Active la autenticación mediante formularios de ASP.NET.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Registre el proveedor de pertenencia.

<membership defaultProvider="SingleSignOnMembershipProvider">

<providers>

<add

name="SingleSignOnMembershipProvider"

type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</membership>

En el atributo fs, sustituya *FEDERATIONSERVER* por el nombre del servidor correspondiente.

El elemento membership tiene que estar incluido dentro del elemento system.web del archivo Web.config.

Registre el administrador de funciones (opcional).

<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider">

<providers>

<add

name="SingleSignOnRoleProvider"

type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</roleManager>

En el atributo fs, tendrá que sustituir *FEDERATIONSERVER* por el nombre del servidor correspondiente.

Registre el módulo HTTP.

<httpModules>

<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />

</httpModules>

SingleSignOnMembershipProvider2/SingleSignOnRoleProvider2

Si va a implementar el segundo conjunto de proveedores de AD FS, los valores para registrar el proveedor de pertenencia y el administrador de funciones son distintos. En la siguiente tabla, se muestran ejemplos de entradas del archivo Web.config para un entorno de inicio de sesión web único con AD FS que usa el proveedor que funciona en entornos de confianza parcial.

Pasos de la configuración Descripción y ejemplos de entradas del archivo Web.config

Active la autenticación mediante formularios de ASP.NET.

<system.web>
 <!-mode=[Windows|Forms|Passport|None]>
 <authentication mode="Forms" />
</system.web>

Registre el proveedor de pertenencia.

<membership defaultProvider="SingleSignOnMembershipProvider2">

<providers>

<add name="SingleSignOnMembershipProvider2"


type="System.Web.Security.SingleSignOn.SingleSignOnMembershipProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"


fs=https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx

/>

</providers>

</membership>

En el atributo fs, sustituya *FEDERATIONSERVER* por el nombre del servidor correspondiente.

El elemento membership tiene que estar incluido dentro del elemento system.web del archivo Web.config.

Registre el administrador de funciones (opcional).

<roleManager enabled="true" defaultProvider="SingleSignOnRoleProvider2">

<providers>

<add

name="SingleSignOnRoleProvider2"

type="System.Web.Security.SingleSignOn.SingleSignOnRoleProvider2, System.Web.Security.SingleSignOn.PartialTrust, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

fs="https://FEDERATIONSERVER/adfs/fs/federationserverservice.asmx"

/>

</providers>

</roleManager>

En el atributo fs, tendrá que sustituir FEDERATIONSERVER por el nombre del servidor correspondiente.

Registre el módulo HTTP.

<httpModules>

<add name="Identity Federation Services Application Authentication Module" type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />

</httpModules>

Descarga de este libro

En este tema se incluye el siguiente libro descargable para facilitar la lectura y la impresión:

Vea la lista completa de libros disponibles en la página que muestra el contenido descargable para Office SharePoint Server 2007.