Información general sobre el servicio de autenticación de Windows Communication Foundation

Actualización: noviembre 2007

El servicio de autenticación de Windows Communication Foundation (WCF) permite utilizar la pertenencia a ASP.NET para autenticar usuarios de cualquier aplicación que pueda enviar y utilizar un mensaje SOAP. Esto puede incluir aplicaciones que no utilicen .NET Framework. Por consiguiente, los usuarios de estas aplicaciones diferentes no necesitan credenciales independientes para cada aplicación. Los usuarios pueden proporcionar las mismas credenciales al utilizar cualquiera de las aplicaciones cliente e iniciar sesión en la aplicación desde todas ellas.

Este tema contiene las siguientes secciones:

  • Escenarios

  • Información general

  • Ejemplos de código

  • Referencia de clase

Escenarios

Puede tener acceso al servicio de autenticación como un servicio WCF si debe autenticar usuarios mediante la pertenencia a ASP.NET desde una aplicación que no es una aplicación Web ASP.NET. Esto puede incluir una aplicación de consola, una aplicación de formularios Windows Forms o una aplicación no desarrollada con .NET Framework. La aplicación debe poder enviar y utilizar un mensaje SOAP.

Volver al principio

Información general

Para usar el servicio, debe pasar las credenciales de usuario al servicio de autenticación, el cual valida las credenciales mediante la pertenencia a ASP.NET. De forma predeterminada, el servicio de autenticación valida el nombre de usuario y la contraseña pasándolos al proveedor de pertenencia predeterminado.

Cuando se ha autenticado el usuario, el servicio de autenticación de ASP.NET emite un vale de autenticación como una cookie HTTP que es compatible con la autenticación de formularios de ASP.NET. En solicitudes subsiguientes, el vale se pasa a la aplicación web para que el usuario no tenga que proporcionar las credenciales cada vez.

El servicio de autenticación no admite la incrustación del vale de autenticación en la dirección URL. Por consiguiente, las cookies deben estar habilitadas en el cliente para conservar el vale de autenticación.

Por razones de seguridad, la aplicación cliente siempre debería tener acceso al servicio de autenticación a través de la capa de sockets seguros (SSL, utilizando el protocolo HTTPS). Para obtener más información sobre cómo configurar SSL, vea Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) y Configuring Secure Sockets Layer in IIS 7.0 en el sitio web de Microsoft.

Autenticar con credenciales personalizadas

Puede agregar credenciales personalizadas en una solicitud de autenticación si necesita validar al usuario mediante otra información además de un nombre y una contraseña, por ejemplo un número de identificación. Para incluir información adicional para la autenticación, pase las credenciales personalizadas en el parámetro CustomCredential al llamar al método login del servicio de autenticación. A continuación, cree un controlador de eventos para el evento Authenticating. En el controlador, puede leer las credenciales y validarlas usted mismo. Para obtener más información, vea Cómo: Personalizar el inicio de sesión de usuario al utilizar el servicio de autenticación de WCF.

Autenticar con un proveedor de pertenencia personalizado

Puede autenticar el nombre de usuario y la contraseña a través de un proveedor de pertenencia no predeterminado creando un controlador de eventos para el evento Authenticating. A continuación, pase el nombre de usuario y la contraseña al método ValidateUser del proveedor de pertenencia personalizado. Para obtener más información, vea Cómo: Usar un proveedor de pertenencia no predeterminado para servicio de autenticación de WCF.

Puede conservar la información no confidencial del usuario como parte del vale de autenticación. Por ejemplo, puede almacenar el color favorito del usuario en el vale si debe recuperarlo posteriormente. Para personalizar la cookie de autenticación, cree un controlador de eventos para el evento CreatingCookie del servicio de autenticación y, a continuación, almacene los datos del usuario en la propiedad UserData del objeto FormsAuthenticationTicket. Para obtener más información, vea Cómo: Personalizar la cookie de autenticación desde el servicio de autenticación de WCF.

Nota:

No almacene nunca la contraseña del usuario u otra información confidencial en el vale.

Volver al principio

Ejemplos de código

Tutorial: Usar servicios de aplicación ASP.NET

Cómo: Habilitar el servicio de autenticación de WCF

Cómo: Personalizar el inicio de sesión de usuario al utilizar el servicio de autenticación de WCF

Cómo: Usar un proveedor de pertenencia no predeterminado para servicio de autenticación de WCF

Cómo: Personalizar la cookie de autenticación desde el servicio de autenticación de WCF

Volver al principio

Referencia de clase

En la tabla siguiente se enumeran las clases de servidor clave del servicio de aplicación de autenticación de WCF.

Volver al principio

Vea también

Tareas

Tutorial: Usar servicios de aplicación ASP.NET

Conceptos

Introducción a la suscripción