Membership Membership Membership Membership Class

Definition

Valida las credenciales del usuario y administra su configuración. Validates user credentials and manages user settings. Esta clase no puede heredarse. This class cannot be inherited.

public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
Inheritance
MembershipMembershipMembershipMembership

Examples

En el ejemplo de código siguiente se muestra la página de inicio de sesión para una aplicación ASP.NET configurada para usar autenticación de formularios y la pertenencia a ASP.NET.The following code example shows the login page for an ASP.NET application configured to use forms authentication and ASP.NET membership. Si las credenciales de usuario proporcionado no son válidas, se muestra un mensaje al usuario.If the supplied user credentials are invalid, a message is displayed to the user. En caso contrario, se redirige al usuario a la dirección URL solicitada originalmente mediante el RedirectFromLoginPage método.Otherwise, the user is redirected to the originally requested URL using the RedirectFromLoginPage method.

Nota

Los controles de inicio de sesión ASP.NET (Login, LoginView, LoginStatus, LoginName, y PasswordRecovery) encapsulan virtualmente toda la lógica necesaria para pedir a los usuarios las credenciales y validar las credenciales en el sistema de pertenencia y puede ser usar en lugar de usar comprobación mediante programación la Membership clase.The ASP.NET login controls (Login, LoginView, LoginStatus, LoginName, and PasswordRecovery) encapsulate virtually all of the logic required to prompt users for credentials and validate the credentials in the membership system and can be used in place of programmatic checking using the Membership class.

Importante

En este ejemplo contiene un cuadro de texto que acepta datos proporcionados por el usuario, que puede suponer una amenaza de seguridad.This example contains a text box that accepts user input, which is a potential security threat. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Para más información, consulte Información general sobre los ataques mediante scripts.For more information, see Script Exploits Overview.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void Login_OnClick(object sender, EventArgs args)
{
   if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
   else
     Msg.Text = "Login failed. Please check your user name and password and try again.";
}


</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

Public Sub Login_OnClick(sender As Object, args As  EventArgs)

   If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
      FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
   Else
     Msg.Text = "Login failed. Please check your user name and password and try again."
   End If

End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Login</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Login</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
  Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
 
  <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
  <asp:CheckBox id="NotPublicCheckBox" runat="server" /> 
  Check here if this is <span style="text-decoration:underline">not</span> a public computer.

</form>

</body>
</html>

Remarks

La Membership clase se utiliza en aplicaciones de ASP.NET para validar las credenciales de usuario y administrar la configuración de usuario, como contraseñas y direcciones de correo electrónico.The Membership class is used in ASP.NET applications to validate user credentials and manage user settings such as passwords and email addresses. El Membership clase puede utilizarse por sí solo o junto con el FormsAuthentication para crear un sistema completo para autenticar a los usuarios de un sitio o aplicación Web.The Membership class can be used on its own, or in conjunction with the FormsAuthentication to create a complete system for authenticating users of a Web application or site. El Login control encapsula el Membership clase para proporcionar un mecanismo práctico para validar a los usuarios.The Login control encapsulates the Membership class to provide a convenient mechanism for validating users.

Nota

Si no está familiarizado con las características de pertenencia de ASP.NET, consulte Introducción a la suscripción antes de continuar.If you are not familiar with the membership features of ASP.NET, see Introduction to Membership before continuing. Para obtener una lista de otros temas relacionados con la pertenencia, vea administrar usuarios mediante pertenencia.For a list of other topics related to membership, see Managing Users by Using Membership.

La Membership clase proporciona los medios para:The Membership class provides facilities for:

  • Creación de nuevos usuarios.Creating new users.

  • Almacenar información de pertenencia (nombres de usuario, contraseñas, direcciones de correo electrónico y datos de compatibilidad) en Microsoft SQL Server o en un almacén de datos alternativo.Storing membership information (user names, passwords, email addresses, and supporting data) in Microsoft SQL Server or in an alternative data store.

  • Autenticación de usuarios que visitan su sitio.Authenticating users who visit your site. Puede autenticar a los usuarios mediante programación, o puede usar el Login control para crear un sistema de autenticación completo que requiere poco o ningún código.You can authenticate users programmatically, or you can use the Login control to create a complete authentication system that requires little or no code.

  • Administración de contraseñas, que incluye la creación, cambio, recuperación y restaurarla y así sucesivamente.Managing passwords, which includes creating, changing, retrieving, and resetting them, and so on. Opcionalmente puede configurar la pertenencia a ASP.NET para solicitar una pregunta de contraseña y respuesta para autenticar las solicitudes de restablecimiento o recuperación de contraseña para los usuarios que han olvidado su contraseña.You can optionally configure ASP.NET membership to require a password question and answer to authenticate password reset or retrieval requests for users that have forgotten their password.

Aunque la pertenencia ASP.NET es una característica independiente de ASP.NET para la autenticación, se puede integrar con la administración de funciones de ASP.NET para proporcionar servicios de autorización para su sitio.Although ASP.NET membership is a self-standing feature in ASP.NET For authentication, it can be integrated with ASP.NET role management to provide authorization services for your site. También puede integrarse con el usuario ASP.NET Membership System.Web.Profile para proporcionar una personalización específica de la aplicación que se puede adaptar a usuarios individuales.Membership can also be integrated with the ASP.NET user System.Web.Profile to provide application-specific customization that can be tailored to individual users. Para obtener más información, consulte descripción de la función de administración y información general de las propiedades del perfil de ASP.NET.For details, see Understanding Role Management and ASP.NET Profile Properties Overview.

La Membership clase se basa en proveedores de pertenencia para comunicarse con un origen de datos.The Membership class relies on membership providers to communicate with a data source. .NET Framework incluye un SqlMembershipProvider, que almacena información de usuario en una base de datos de Microsoft SQL Server y un ActiveDirectoryMembershipProvider, lo que permite almacenar información de usuario en un servidor de Active Directory o Active Directory Application Mode (ADAM).The .NET Framework includes a SqlMembershipProvider, which stores user information in a Microsoft SQL Server database, and an ActiveDirectoryMembershipProvider, which enables you to store user information on an Active Directory or Active Directory Application Mode (ADAM) server. También puede implementar un proveedor de pertenencia personalizado para comunicarse con un origen de datos alternativo que puede usar el Membership clase.You can also implement a custom membership provider to communicate with an alternative data source that can be used by the Membership class. Los proveedores de pertenencia personalizado heredan la MembershipProvider clase abstracta.Custom membership providers inherit the MembershipProvider abstract class. Para obtener más información, consulte implementar un proveedor de pertenencia.For more information, see Implementing a Membership Provider.

De forma predeterminada, la pertenencia a ASP.NET está habilitada para todas las aplicaciones ASP.NET.By default, ASP.NET membership is enabled for all ASP.NET applications. El proveedor de pertenencia predeterminado es el SqlMembershipProvider y se especifica en la configuración del equipo con el nombre AspNetSqlProvider.The default membership provider is the SqlMembershipProvider and is specified in the machine configuration with the name AspNetSqlProvider. La instancia predeterminada de la SqlMembershipProvider está configurado para conectarse a una instancia local de Microsoft SQL Server.The default instance of the SqlMembershipProvider is configured to connect to a local instance of Microsoft SQL Server.

Puede modificar la configuración predeterminada para especificar un SqlMembershipProvider distinto el AspNetSqlProvider la instancia como el proveedor predeterminado o especificar una instancia de un proveedor personalizado como el proveedor predeterminado para su aplicación ASP.NET mediante el archivo Web.config.You can modify the default settings to specify a SqlMembershipProvider other than the AspNetSqlProvider instance as the default provider, or specify an instance of a custom provider as the default provider for your ASP.NET application using the Web.config file. Puede especificar la configuración de pertenencia a ASP.NET para su aplicación Web con la sección de configuración en el archivo Web.config.You can specify the ASP.NET membership configuration for your Web application using the configuration section in the Web.config file. Puede usar el providers subsección de la sección para especificar un proveedor de pertenencia que no sea uno de los proveedores predeterminados.You can use the providers subsection of the section to specify a membership provider other than one of the default providers. Por ejemplo, en la sección siguiente quita los proveedores de pertenencia predeterminado de la configuración de aplicación actual y agrega un nuevo proveedor con el nombre de SqlProvider que se conecta a una instancia de SQL Server denominada AspSqlServer.For example, the following section removes the default membership providers from the current application configuration and adds a new provider with a name of SqlProvider that connects to a SQL Server instance named AspSqlServer.

<configuration>  
  <connectionStrings>  
    <add name="SqlServices" connectionString="Data Source=AspSqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />  
  </connectionStrings>  
  <system.web>  
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">  
      <providers>  
        <remove name="AspNetSqlProvider" />  
        <add name="SqlProvider"  
          type="System.Web.Security.SqlMembershipProvider"  
          connectionStringName="SqlServices"  
          enablePasswordRetrieval="false"  
          enablePasswordReset="true"  
          requiresQuestionAndAnswer="true"  
          passwordFormat="Hashed"  
          applicationName="/" />  
      </providers>  
    </membership>  
  </system.web>  
</configuration>  

Properties

ApplicationName ApplicationName ApplicationName ApplicationName

Obtiene o establece el nombre de la aplicación. Gets or sets the name of the application.

EnablePasswordReset EnablePasswordReset EnablePasswordReset EnablePasswordReset

Obtiene un valor que indica si se configura el proveedor de pertenencia actual para permitirles a los usuarios restablecer sus contraseñas. Gets a value indicating whether the current membership provider is configured to allow users to reset their passwords.

EnablePasswordRetrieval EnablePasswordRetrieval EnablePasswordRetrieval EnablePasswordRetrieval

Obtiene un valor que indica si se configura el proveedor de pertenencia actual para permitirles a los usuarios recuperar sus contraseñas. Gets a value indicating whether the current membership provider is configured to allow users to retrieve their passwords.

HashAlgorithmType HashAlgorithmType HashAlgorithmType HashAlgorithmType

Identificador del algoritmo utilizado para aplicar un algoritmo hash a las contraseñas. The identifier of the algorithm used to hash passwords.

MaxInvalidPasswordAttempts MaxInvalidPasswordAttempts MaxInvalidPasswordAttempts MaxInvalidPasswordAttempts

Obtiene el número de intentos de contraseña o respuesta de contraseña no válidos que se permiten antes de bloquear al usuario de pertenencia. Gets the number of invalid password or password-answer attempts allowed before the membership user is locked out.

MinRequiredNonAlphanumericCharacters MinRequiredNonAlphanumericCharacters MinRequiredNonAlphanumericCharacters MinRequiredNonAlphanumericCharacters

Obtiene el número mínimo de caracteres especiales que debe contener una contraseña válida. Gets the minimum number of special characters that must be present in a valid password.

MinRequiredPasswordLength MinRequiredPasswordLength MinRequiredPasswordLength MinRequiredPasswordLength

Obtiene la longitud mínima necesaria para una contraseña. Gets the minimum length required for a password.

PasswordAttemptWindow PasswordAttemptWindow PasswordAttemptWindow PasswordAttemptWindow

Obtiene la ventana de tiempo durante el que se realiza un seguimiento de los intentos incorrectos consecutivos para proporcionar una contraseña o respuesta de contraseña válida. Gets the time window between which consecutive failed attempts to provide a valid password or password answer are tracked.

PasswordStrengthRegularExpression PasswordStrengthRegularExpression PasswordStrengthRegularExpression PasswordStrengthRegularExpression

Obtiene la expresión regular utilizada para evaluar una contraseña. Gets the regular expression used to evaluate a password.

Provider Provider Provider Provider

Obtiene una referencia al proveedor de pertenencia predeterminado para la aplicación. Gets a reference to the default membership provider for the application.

Providers Providers Providers Providers

Obtiene una colección de los proveedores de pertenencia para la aplicación ASP.NET. Gets a collection of the membership providers for the ASP.NET application.

RequiresQuestionAndAnswer RequiresQuestionAndAnswer RequiresQuestionAndAnswer RequiresQuestionAndAnswer

Obtiene un valor que indica si el proveedor de pertenencia predeterminado necesita que el usuario responda una pregunta de la contraseña para restablecerla y recuperarla. Gets a value indicating whether the default membership provider requires the user to answer a password question for password reset and retrieval.

UserIsOnlineTimeWindow UserIsOnlineTimeWindow UserIsOnlineTimeWindow UserIsOnlineTimeWindow

Especifica el número de minutos después de la marca de fecha y hora de la última actividad para un usuario durante el cual éste se considera que está en línea. Specifies the number of minutes after the last-activity date/time stamp for a user during which the user is considered online.

Methods

CreateUser(String, String) CreateUser(String, String) CreateUser(String, String) CreateUser(String, String)

Agrega un nuevo usuario al origen de datos. Adds a new user to the data store.

CreateUser(String, String, String) CreateUser(String, String, String) CreateUser(String, String, String) CreateUser(String, String, String)

Agrega al almacén de datos un nuevo usuario con la dirección de correo electrónico especificada. Adds a new user with a specified email address to the data store.

CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus)

Agrega un nuevo usuario con los valores de propiedades especificados al almacén de datos y devuelve un parámetro de estado que indica que el usuario se ha creado correctamente o el motivo del error en la creación del usuario. Adds a new user with specified property values to the data store and returns a status parameter indicating that the user was successfully created or the reason the user creation failed.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Agrega a un nuevo usuario con los valores de propiedades especificados y un identificador único al almacén de datos y devuelve un parámetro de estado que indica que el usuario se ha creado correctamente o el motivo del error en la creación del usuario. Adds a new user with specified property values and a unique identifier to the data store and returns a status parameter indicating that the user was successfully created or the reason the user creation failed.

DeleteUser(String) DeleteUser(String) DeleteUser(String) DeleteUser(String)

Elimina un usuario y cualquier dato del usuario relacionado de la base de datos. Deletes a user and any related user data from the database.

DeleteUser(String, Boolean) DeleteUser(String, Boolean) DeleteUser(String, Boolean) DeleteUser(String, Boolean)

Elimina a un usuario de la base de datos. Deletes a user from the database.

FindUsersByEmail(String, Int32, Int32, Int32) FindUsersByEmail(String, Int32, Int32, Int32) FindUsersByEmail(String, Int32, Int32, Int32) FindUsersByEmail(String, Int32, Int32, Int32)

Obtiene una colección de usuarios de pertenencia, en una página de datos, donde la dirección de correo electrónico contiene la dirección de correo electrónico especificada que necesita coincidir. Gets a collection of membership users, in a page of data, where the email address contains the specified email address to match.

FindUsersByEmail(String) FindUsersByEmail(String) FindUsersByEmail(String) FindUsersByEmail(String)

Obtiene una colección de usuarios de pertenencia donde la dirección de correo contiene la dirección de correo electrónico especificada que necesita coincidir. Gets a collection of membership users where the email address contains the specified email address to match.

FindUsersByName(String) FindUsersByName(String) FindUsersByName(String) FindUsersByName(String)

Obtiene una colección de usuarios de pertenencia en la que el nombre de usuario contiene el nombre de usuario especificado que debe coincidir. Gets a collection of membership users where the user name contains the specified user name to match.

FindUsersByName(String, Int32, Int32, Int32) FindUsersByName(String, Int32, Int32, Int32) FindUsersByName(String, Int32, Int32, Int32) FindUsersByName(String, Int32, Int32, Int32)

Obtiene una colección de usuarios de pertenencia, en una página de datos, cuyo nombre de usuario contiene el nombre de usuario especificado que debe coincidir. Gets a collection of membership users, in a page of data, where the user name contains the specified user name to match.

GeneratePassword(Int32, Int32) GeneratePassword(Int32, Int32) GeneratePassword(Int32, Int32) GeneratePassword(Int32, Int32)

Genera una contraseña aleatoria de la longitud especificada. Generates a random password of the specified length.

GetAllUsers() GetAllUsers() GetAllUsers() GetAllUsers()

Obtiene una colección de todos los usuarios en la base de datos. Gets a collection of all the users in the database.

GetAllUsers(Int32, Int32, Int32) GetAllUsers(Int32, Int32, Int32) GetAllUsers(Int32, Int32, Int32) GetAllUsers(Int32, Int32, Int32)

Obtiene una colección de todos los usuarios de la base de datos en páginas de datos. Gets a collection of all the users in the database in pages of data.

GetNumberOfUsersOnline() GetNumberOfUsersOnline() GetNumberOfUsersOnline() GetNumberOfUsersOnline()

Obtiene el número de usuarios que actualmente tienen acceso a una aplicación. Gets the number of users currently accessing an application.

GetUser(String, Boolean) GetUser(String, Boolean) GetUser(String, Boolean) GetUser(String, Boolean)

Recibe la información del origen de datos para el usuario de pertenencia especificado. Gets the information from the data source for the specified membership user. Actualiza la marca de fecha y hora de la última actividad para el usuario, si se ha especificado. Updates the last-activity date/time stamp for the user, if specified.

GetUser(Object, Boolean) GetUser(Object, Boolean) GetUser(Object, Boolean) GetUser(Object, Boolean)

Recibe la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado. Gets the information from the data source for the membership user associated with the specified unique identifier. Actualiza la marca de fecha y hora de la última actividad para el usuario, si se ha especificado. Updates the last-activity date/time stamp for the user, if specified.

GetUser(String) GetUser(String) GetUser(String) GetUser(String)

Recibe la información del origen de datos para el usuario de pertenencia especificado. Gets the information from the data source for the specified membership user.

GetUser(Boolean) GetUser(Boolean) GetUser(Boolean) GetUser(Boolean)

Recibe la información del origen de datos para el usuario de pertenencia que ha iniciado la sesión. Gets the information from the data source for the current logged-on membership user. Actualiza la marca de fecha y hora de la última actividad para el usuario de pertenencia que ha iniciado la sesión, si se ha especificado. Updates the last-activity date/time stamp for the current logged-on membership user, if specified.

GetUser() GetUser() GetUser() GetUser()

Recibe la información del origen de datos y actualiza la marca de fecha y hora de la última actividad para el usuario de pertenencia que ha iniciado la sesión. Gets the information from the data source and updates the last-activity date/time stamp for the current logged-on membership user.

GetUser(Object) GetUser(Object) GetUser(Object) GetUser(Object)

Recibe la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado. Gets the information from the data source for the membership user associated with the specified unique identifier.

GetUserNameByEmail(String) GetUserNameByEmail(String) GetUserNameByEmail(String) GetUserNameByEmail(String)

Obtiene un nombre de usuario donde la dirección de correo electrónico del usuario coincide con la dirección de correo electrónico especificada. Gets a user name where the email address for the user matches the specified email address.

UpdateUser(MembershipUser) UpdateUser(MembershipUser) UpdateUser(MembershipUser) UpdateUser(MembershipUser)

Actualiza la base de datos con la información correspondiente al usuario especificado. Updates the database with the information for the specified user.

ValidateUser(String, String) ValidateUser(String, String) ValidateUser(String, String) ValidateUser(String, String)

Comprueba que el nombre de usuario y la contraseña proporcionados son válidos. Verifies that the supplied user name and password are valid.

Events

ValidatingPassword ValidatingPassword ValidatingPassword ValidatingPassword

Se produce cuando se crea un usuario o se cambia o se restablece una contraseña. Occurs when a user is created, a password is changed, or a password is reset.

Applies to

See Also