Introducción a la suscripción

Actualización: noviembre 2007

La suscripción de ASP.NET proporciona un servicio integrado para validar y almacenar las credenciales del usuario. La suscripción de ASP.NET facilita, por tanto, la tarea de administrar la autenticación del usuario en los sitios Web. Puede utilizar la suscripción de ASP.NET con la autenticación de formularios de ASP.NET o con los controles de inicio de sesión de ASP.NET para crear un sistema completo de autenticación de usuarios.

La suscripción de ASP.NET es compatible con los servicios para:

  • Crear nuevos usuarios y contraseñas.

  • Almacenar la información de la suscripción (nombres de usuario, contraseñas y datos complementarios) en Microsoft SQL Server, Active Directory o un almacén de datos alternativo.

  • Autenticar a los usuarios que visitan el sitio. Puede autenticar los usuarios mediante programación, o puede utilizar los controles de inicio de sesión de ASP.NET para crear un sistema de autenticación completo sin apenas escribir código o sin utilizar código alguno.

  • Administrar las contraseñas, es decir, crearlas, modificarlas y restablecerlas. En función de las opciones de suscripción que elija, el sistema de suscripciones también puede proporcionar un sistema de restablecimiento de contraseñas automatizado que utilice una pregunta y una respuesta proporcionadas por el usuario.

  • Utilizar una única identificación para los usuarios autenticados que podrá utilizar en sus propias aplicaciones y que se integre también los sistemas de personalización de ASP.NET y de administración de funciones (autorización).

  • Especificar un proveedor de suscripciones personalizado que permita sustituir el código propio para administrar la suscripción y mantener los datos de la suscripción en un almacén de datos personalizado

Suscripción, funciones y perfil de usuario

Aunque la suscripción es una característica de autenticación independiente en ASP.NET, se puede integrar con la administración de funciones de ASP.NET para proporcionar servicios de autorización al sitio. La suscripción también se puede integrar con el perfil de usuario para proporcionar una personalización específica de la aplicación que se puede adaptar a cada usuario. Para obtener información detallada, vea Administrar autorizaciones con funciones y Información general sobre las propiedades de perfil de ASP.NET.

Cómo funciona la suscripción

Para utilizar la suscripción, debe configurarla primero en el sitio. Siga estos pasos generales:

  1. Especifique las opciones de suscripción como parte de la configuración del sitio Web. De forma predeterminada, la suscripción está habilitada. También puede especificar el proveedor de suscripciones que desea utilizar. (En términos prácticos, esto significa que está especificando qué tipo de base de datos desea que contenga la información de suscripción.) El proveedor predeterminado utiliza una base de datos de Microsoft SQL Server. También puede optar por utilizar Active Directory para almacenar la información de suscripción o puede especificar un proveedor personalizado. Para obtener información sobre las opciones de configuración de suscripción que se pueden especificar en el archivo Web.config de la aplicación ASP.NET, vea Configurar una aplicación ASP.NET para utilizar la suscripción.

  2. Configure la aplicación para que utilice la autenticación de formularios (y no la autenticación de Windows o la autenticación Passport). Normalmente deberá indicar que algunas páginas o carpetas de la aplicación están protegidas y sólo los usuarios autenticados pueden tener acceso a ellas.

  3. Defina las cuentas de usuario para la suscripción. Puede hacerlo de varias maneras. Puede utilizar la herramienta Administración de sitios Web, que proporciona una interfaz parecida a un asistente para crear nuevos usuarios. Si lo desea, puede crear también una página Web ASP.NET de "nuevo usuario" donde recopile un nombre de usuario y una contraseña (y, opcionalmente, una dirección de correo electrónico) y, a continuación, utilizar una función de suscripción denominada CreateUser para crear un nuevo usuario en el sistema de suscripciones.

Puede utilizar la suscripción ahora para autenticar los usuarios de la aplicación. Generalmente, proporcionará un formulario de inicio de sesión que podría estar en una página diferente o en un área especial de la página principal. Puede crear el formulario de inicio de sesión manualmente mediante los controles TextBox de ASP.NET o puede utilizar los controles de inicio de ASP.NET. Como ha configurado la aplicación para que utilice la autenticación de formularios, ASP.NET mostrará automáticamente la página de inicio de sesión si un usuario no autenticado solicita una página protegida.

Nota:

Los controles de inicio de sesión de ASP.NET (Login, LoginView, LoginStatus, LoginName y PasswordRecovery) encapsulan virtualmente toda la lógica requerida para solicitar las credenciales a los usuarios y validar estas credenciales en el sistema de suscripciones.

Si utiliza controles de inicio de sesión, éstos utilizarán automáticamente el sistema de suscripciones para validar un usuario. Si ha creado un formulario de inicio de sesión manualmente, puede solicitar al usuario un nombre de usuario y una contraseña y, a continuación, llamar al método ValidateUser para realizar la validación. Después de validar el usuario, la información de este usuario se puede conservar (por ejemplo, con una cookie cifrada si el explorador del usuario acepta cookies) utilizando la autenticación de formularios. Los controles de inicio de sesión realizan esta tarea automáticamente. Si ha creado un formulario de inicio de sesión manualmente, puede llamar a los métodos de la clase FormsAuthentication para crear la cookie y escribirla en el equipo del usuario. Si un usuario ha olvidado su contraseña, la página de inicio de sesión puede llamar a las funciones de suscripción que ayudan al usuario a recordar la contraseña o que crean una nueva contraseña.

Cada vez que el usuario solicita otra página protegida, la autenticación de formularios de ASP.NET comprueba si el usuario está autenticado y, a continuación, permite que el usuario vea la página o lo redirige a la página de inicio de sesión. De forma predeterminada, la cookie de autenticación continúa siendo válida para la sesión del usuario.

Tras autenticar a un usuario, el sistema de suscripciones muestra un objeto que contiene información sobre el usuario actual. Por ejemplo, puede obtener las propiedades del objeto del usuario suscrito para determinar el nombre del usuario y su dirección de correo electrónico, cuál fue la última vez que inició sesión en la aplicación, etc.

Un aspecto importante del sistema de suscripciones es que nunca necesita realizar explícitamente ninguna función de bajo nivel en la base de datos para obtener o establecer la información sobre el usuario. Por ejemplo, puede crear un nuevo usuario llamando al método de suscripción CreateUser. El sistema de suscripciones controla los detalles de la creación de los registros de base de datos necesarios para almacenar la información sobre el usuario. Cuando llama al método ValidateUser para que compruebe las credenciales de un usuario, el sistema de suscripciones realiza la búsqueda en toda la base de datos.

Configuración y administración de suscripciones

Configure el sistema de suscripciones en el archivo Web.config de su aplicación. La forma más fácil de configurar y administrar la suscripción es utilizar la herramienta Administración de sitios Web, que proporciona una interfaz basada en un asistente. Como parte de la configuración de las suscripciones, debe especificar:

  • Qué proveedor de suscripciones va a utilizar. (Al especificar este proveedor, normalmente también se identifica la base de datos en la que se almacena la información de las suscripciones.)

  • Las opciones de contraseña, como el cifrado, y si se admite la recuperación de contraseñas basada en una pregunta específica que se realiza al usuario.

  • Usuarios y contraseñas. Si está utilizando la herramienta Administración de sitios Web, puede crear y administrar los usuarios directamente. De lo contrario, debe llamar a las funciones de suscripción para crear y administrar los usuarios mediante programación.

Vea también

Conceptos

Proteger la suscripción

Otros recursos

Administrar usuarios mediante suscripciones