Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase Membership

 

Publicado: octubre de 2016

Valida las credenciales del usuario y administra la configuración de usuario. Esta clase no puede heredarse.

Espacio de nombres:   System.Web.Security
Ensamblado:  System.Web (en System.Web.dll)

System.Object
  System.Web.Security.Membership

public static class Membership

NombreDescripción
System_CAPS_pubpropertySystem_CAPS_staticApplicationName

Obtiene o establece el nombre de la aplicación.

System_CAPS_pubpropertySystem_CAPS_staticEnablePasswordReset

Obtiene un valor que indica si el proveedor de pertenencia actual está configurado para permitir a los usuarios restablecer sus contraseñas.

System_CAPS_pubpropertySystem_CAPS_staticEnablePasswordRetrieval

Obtiene un valor que indica si el proveedor de pertenencia actual está configurado para permitir a los usuarios recuperar sus contraseñas.

System_CAPS_pubpropertySystem_CAPS_staticHashAlgorithmType

El identificador del algoritmo utilizado para las contraseñas de hash.

System_CAPS_pubpropertySystem_CAPS_staticMaxInvalidPasswordAttempts

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.

System_CAPS_pubpropertySystem_CAPS_staticMinRequiredNonAlphanumericCharacters

Obtiene el número mínimo de caracteres especiales que debe contener una contraseña válida.

System_CAPS_pubpropertySystem_CAPS_staticMinRequiredPasswordLength

Obtiene la longitud mínima necesaria para una contraseña.

System_CAPS_pubpropertySystem_CAPS_staticPasswordAttemptWindow

Obtiene la ventana de tiempo entre que consecutivos intentos para proporcionar una contraseña o la respuesta de la contraseña se realiza un seguimiento.

System_CAPS_pubpropertySystem_CAPS_staticPasswordStrengthRegularExpression

Obtiene la expresión regular utilizada para evaluar una contraseña.

System_CAPS_pubpropertySystem_CAPS_staticProvider

Obtiene una referencia al proveedor de pertenencia predeterminado para la aplicación.

System_CAPS_pubpropertySystem_CAPS_staticProviders

Obtiene una colección de los proveedores de pertenencia para la aplicación ASP.NET.

System_CAPS_pubpropertySystem_CAPS_staticRequiresQuestionAndAnswer

Obtiene un valor que indica si el proveedor de pertenencia predeterminado exige al usuario que responda una pregunta de contraseña para restablecer la contraseña y la recuperación.

System_CAPS_pubpropertySystem_CAPS_staticUserIsOnlineTimeWindow

Especifica el número de minutos después de fecha y hora de la última actividad marca para un usuario durante el cual el usuario se considera en línea.

NombreDescripción
System_CAPS_pubmethodSystem_CAPS_staticCreateUser(String, String)

Agrega un nuevo usuario al almacén de datos.

System_CAPS_pubmethodSystem_CAPS_staticCreateUser(String, String, String)

Agrega un nuevo usuario con una dirección de correo electrónico especificada al almacén de datos.

System_CAPS_pubmethodSystem_CAPS_staticCreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus)

Agrega un nuevo usuario con valores de propiedad especificados en el almacén de datos y devuelve un parámetro de estado que indica que el usuario se ha creado correctamente o el motivo error en la creación del usuario.

System_CAPS_pubmethodSystem_CAPS_staticCreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Agrega un nuevo usuario con valores de propiedad especificados y un identificador único para el almacén de datos y devuelve un parámetro de estado que indica que el usuario se ha creado correctamente o el motivo error en la creación del usuario.

System_CAPS_pubmethodSystem_CAPS_staticDeleteUser(String)

Elimina un usuario y cualquier dato del usuario relacionado de la base de datos.

System_CAPS_pubmethodSystem_CAPS_staticDeleteUser(String, Boolean)

Elimina un usuario de la base de datos.

System_CAPS_pubmethodSystem_CAPS_staticFindUsersByEmail(String)

Obtiene una colección de usuarios de pertenencia donde la dirección de correo electrónico contiene la dirección de correo electrónico especificada que debe coincidir.

System_CAPS_pubmethodSystem_CAPS_staticFindUsersByEmail(String, Int32, Int32, Int32)

Obtiene una colección de usuarios suscritos, en una página de datos, donde la dirección de correo electrónico contiene la dirección de correo electrónico especificado debe coincidir.

System_CAPS_pubmethodSystem_CAPS_staticFindUsersByName(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.

System_CAPS_pubmethodSystem_CAPS_staticFindUsersByName(String, Int32, Int32, Int32)

Obtiene una colección de usuarios suscritos, en una página de datos, donde el nombre de usuario contiene el nombre de usuario especificado debe coincidir.

System_CAPS_pubmethodSystem_CAPS_staticGeneratePassword(Int32, Int32)

Genera una contraseña aleatoria de la longitud especificada.

System_CAPS_pubmethodSystem_CAPS_staticGetAllUsers()

Obtiene una colección de todos los usuarios de la base de datos.

System_CAPS_pubmethodSystem_CAPS_staticGetAllUsers(Int32, Int32, Int32)

Obtiene una colección de todos los usuarios de la base de datos en páginas de datos.

System_CAPS_pubmethodSystem_CAPS_staticGetNumberOfUsersOnline()

Obtiene el número de usuarios que actualmente tienen acceso a una aplicación.

System_CAPS_pubmethodSystem_CAPS_staticGetUser()

Obtiene la información del origen de datos y actualiza la última actividad marca de fecha y hora para el usuario de pertenencia que ha iniciado la sesión actual.

System_CAPS_pubmethodSystem_CAPS_staticGetUser(Boolean)

Obtiene la información del origen de datos para el usuario de pertenencia que ha iniciado la sesión actual. Marca de fecha y hora de las actualizaciones de la última actividad para el usuario de pertenencia que ha iniciado la sesión actual, si se especifica.

System_CAPS_pubmethodSystem_CAPS_staticGetUser(Object)

Obtiene la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado.

System_CAPS_pubmethodSystem_CAPS_staticGetUser(Object, Boolean)

Obtiene la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado. Marca de fecha y hora de las actualizaciones de la última actividad para el usuario, si se especifica.

System_CAPS_pubmethodSystem_CAPS_staticGetUser(String)

Obtiene la información del origen de datos para el usuario de pertenencia especificado.

System_CAPS_pubmethodSystem_CAPS_staticGetUser(String, Boolean)

Obtiene la información del origen de datos para el usuario de pertenencia especificado. Marca de fecha y hora de las actualizaciones de la última actividad para el usuario, si se especifica.

System_CAPS_pubmethodSystem_CAPS_staticGetUserNameByEmail(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.

System_CAPS_pubmethodSystem_CAPS_staticUpdateUser(MembershipUser)

Actualiza la base de datos con la información para el usuario especificado.

System_CAPS_pubmethodSystem_CAPS_staticValidateUser(String, String)

Comprueba que el nombre de usuario y la contraseña proporcionados son válidos.

NombreDescripción
System_CAPS_pubeventSystem_CAPS_staticValidatingPassword

Se produce cuando se crea un usuario o se cambia o se restablece una contraseña.

La Membership clase se utiliza en aplicaciones ASP.NET para validar las credenciales de usuario y administrar la configuración de usuario, como contraseñas y direcciones de correo electrónico. La Membership clase puede utilizarse por sí sola o junto con el FormsAuthentication para crear un sistema completo para autenticar a los usuarios de un sitio o aplicación Web. El Login control encapsula la Membership clase para proporcionar un mecanismo conveniente para la validación de usuarios.

System_CAPS_noteNota

Si no está familiarizado con las características de pertenencia de ASP.NET, consulte Introduction to Membership antes de continuar. Para obtener una lista de otros temas relacionados con la pertenencia, vea Managing Users by Using Membership.

La Membership clase proporciona funcionalidad para:

  • Creación de nuevos usuarios.

  • Almacenar información de pertenencia (nombres de usuario, contraseñas, direcciones de correo electrónico y datos compatibles) en Microsoft SQL Server o en un almacén de datos alternativo.

  • Autenticación de usuarios que visitan su sitio. 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.

  • Administración de contraseñas, que incluye la creación, cambio, recuperación y restablecerlas y así sucesivamente. Opcionalmente puede configurar la pertenencia a ASP.NET para que requiera una pregunta y respuesta para autenticar las solicitudes de recuperación o el restablecimiento de contraseña para los usuarios que han olvidado su contraseña.

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. Pertenencia también se puede integrar con el usuario ASP.NET System.Web.Profile para proporcionar una personalización específica de la aplicación que se puede adaptar a usuarios individuales. Para obtener información detallada, consulte Understanding Role Management y ASP.NET Profile Properties Overview.

La Membership clase se basa en proveedores de pertenencia para comunicarse con un origen de datos. .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). También puede implementar un proveedor de pertenencia personalizado para comunicarse con un origen de datos alternativo que puede utilizar el Membership clase. Proveedores de pertenencia personalizados heredan la MembershipProvider clase abstracta. Para obtener más información, consulta Implementing a Membership Provider.

De forma predeterminada, se habilita la pertenencia ASP.NET para todas las aplicaciones ASP.NET. El proveedor de pertenencia predeterminado es la SqlMembershipProvider y se especifica en la configuración del equipo con el nombre AspNetSqlProvider. La instancia predeterminada de la SqlMembershipProvider está configurado para conectarse a una instancia local de Microsoft SQL Server.

Puede modificar la configuración predeterminada para especificar un SqlMembershipProvider distinto de la AspNetSqlProvider de instancia como el proveedor predeterminado o especificar una instancia de un proveedor personalizado como el proveedor predeterminado para la aplicación de ASP.NET utilizando el archivo Web.config. Puede especificar la configuración de pertenencia ASP.NET para la aplicación Web utilizando la sección de configuración en el archivo Web.config. Puede usar el providers subsección de la sección para especificar un proveedor de pertenencia distinto de uno de los proveedores predeterminados. Por ejemplo, en la sección siguiente quita los proveedores de pertenencia predeterminados de la configuración de la aplicación actual y agrega un nuevo proveedor con el nombre de SqlProvider que se conecta a una instancia de SQL Server denominada 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>

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 utilizar la autenticación de formularios y la pertenencia a ASP.NET. Si las credenciales de usuario proporcionadas no son válidas, se muestra un mensaje al usuario. De lo contrario, se redirige al usuario a la dirección URL solicitada originalmente mediante el RedirectFromLoginPage método.

System_CAPS_noteNota

Los controles de inicio de sesión ASP.NET (Login, LoginView, LoginStatus, LoginName, y PasswordRecovery) encapsulan virtualmente toda la lógica necesaria para solicitar credenciales a los usuarios y validar las credenciales en el sistema de pertenencia y se puede utilizar en lugar de utilizar comprobar mediante programación la Membership clase.

System_CAPS_security Seguridad Nota

Este ejemplo contiene un cuadro de texto que acepta datos proporcionados por el usuario, que puede suponer una amenaza de seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para obtener más información, consulta 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>

.NET Framework
Disponible desde 2.0

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: