Introducción a la pertenencia

Cambiar vista:
Sin script
.NET Framework 4 - ASP.NET
Introducción a la pertenencia
Este artículo se tradujo de forma manual. Para mostrar esta página y el contenido original en inglés al mismo tiempo, cambie a Lightweight según sus preferencias de visualización.

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

La pertenencia de ASP.NET es compatible con los servicios para:

  • Crear nuevos usuarios y contraseñas.

  • Almacenar la información de la pertenencia (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 pertenencia que elija, el sistema de pertenencia 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 pertenencia personalizado que permita sustituir el código propio para administrar la pertenencia y mantener los datos de la pertenencia en un almacén de datos personalizado

Pertenencia, roles y propiedades de perfiles de usuario

Aunque la pertenencia 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 pertenencia también se puede integrar con las propiedades del 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 roles y Información general sobre las propiedades de perfil de ASP.NET. Para obtener información detallada acerca de cómo se usa la pertenencia con roles, vea Tutorial: Administrar los usuarios de sitios web con roles.

Cómo funciona la pertenencia

Para utilizar la pertenencia, debe configurarla primero en el sitio. A continuación se muestran los pasos básicos que debe seguir para configurar la pertenencia:

  1. Especifique las opciones de pertenencia como parte de la configuración del sitio Web. De forma predeterminada, la pertenencia está habilitada. También puede especificar el proveedor de pertenencia que desea utilizar. El proveedor predeterminado almacena información de pertenencia en una base de datos de Microsoft SQL Server. Sin embargo, también puede usar otros proveedores, como un proveedor de Windows Live ID. También puede optar por utilizar Active Directory para almacenar la información de pertenencia o puede especificar un proveedor personalizado. Para obtener información sobre las opciones de configuración de pertenencia 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 pertenencia.

  2. Configure la aplicación para que use la autenticación de formulario (y no la autenticación de Windows o Windows Live ID).

    También puede establecer que algunas páginas o carpetas de la aplicación estén protegidas y solo los usuarios autenticados puedan tener acceso a ellas. Para obtener más información, vea Tutorial: Administrar los usuarios de sitios web con roles.

  3. Defina las cuentas de usuario para la pertenencia. 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 usar también una página web ASP.NET en la que recopile un nombre de usuario y una contraseña (y, opcionalmente, una dirección de correo electrónico) y, a continuación, usar el método de pertenencia CreateUser para crear un nuevo usuario en el sistema de pertenencia.

A continuación, puede usar la pertenencia para autenticar los usuarios de la aplicación. Normalmente, proporcionará una página en la que los usuarios pueden iniciar sesión, una página de registro donde los nuevos usuarios pueden inscribirse y una página de cambio de contraseña donde los usuarios pueden cambiar su contraseña. 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 pertenencia.

La plantilla predeterminada de Visual Studio para crear un proyecto de ASP.NET contiene muchas de estas funciones de inicio de sesión básicas. Para obtener información acerca de cómo se usan las plantillas de proyecto, vea Tutorial: Crear un sitio web ASP.NET con inicio de sesión de usuario básico. Si lo desea, puede usar los mismos controles ASP.NET que los de la plantilla para crear páginas de inicio de sesión y pertenencia personalizadas. Para obtener información acerca de cómo pueden reunirse manualmente estos controles ASP.NET para crear una aplicación que autentique usuarios, vea Tutorial: Crear un sitio web con pertenencia e inicio de sesión de usuarios.

Si 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.

Si utiliza las plantillas de proyecto proporcionadas en ASP.NET o usa controles de inicio de sesión, usarán automáticamente el sistema de pertenencia para validar a un usuario. Si crea controles de inicio de sesión personalizados, debe llamar al método ValidateUser para validar el nombre y la contraseña del usuario. 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). Los controles de inicio de sesión realizan esta tarea automáticamente, pero si crea controles de inicio de sesión personalizados, pueden 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 pertenencia que ayudan al usuario a recordar la contraseña o restablecen la contraseña.

Cada vez que el usuario solicita una página, la autenticación de formularios de ASP.NET comprueba si el usuario está autenticado. Si una página está restringida, los usuarios que están autenticados y son miembros de los roles aprobados pueden ver la página. A los usuarios anónimos (usuarios que no están registrados) se les dirige 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 pertenencia muestra un objeto que contiene información sobre el usuario actual. Por ejemplo, puede obtener las propiedades del objeto del usuario de pertenencia 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 el sitio web, etc.

Un aspecto importante del sistema de pertenencia 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 pertenencia CreateUser. El sistema de pertenencia 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 pertenencia realiza la búsqueda en toda la base de datos.

Vea también

Tareas

Conceptos

Otros recursos