Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Membership (Clase)

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

System.Object
  System.Web.Security.Membership

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

public static class Membership

El tipo Membership expone los siguientes miembros.

  NombreDescripción
Propiedad públicaMiembro estáticoApplicationNameObtiene o establece el nombre de la aplicación.
Propiedad públicaMiembro estáticoEnablePasswordResetObtiene un valor que indica si se configura el proveedor de pertenencia actual para permitirles a los usuarios restablecer sus contraseñas.
Propiedad públicaMiembro estáticoEnablePasswordRetrievalObtiene un valor que indica si se configura el proveedor de pertenencia actual para permitirles a los usuarios recuperar sus contraseñas.
Propiedad públicaMiembro estáticoHashAlgorithmTypeIdentificador del algoritmo utilizado para aplicar un algoritmo hash a las contraseñas.
Propiedad públicaMiembro estáticoMaxInvalidPasswordAttemptsObtiene el número de intentos de contraseña no válida o de respuesta a la contraseña incorrecta permitidos antes de bloquear al usuario de pertenencia.
Propiedad públicaMiembro estáticoMinRequiredNonAlphanumericCharactersObtiene el número mínimo de caracteres especiales que deben estar presentes en una contraseña válida.
Propiedad públicaMiembro estáticoMinRequiredPasswordLengthObtiene la longitud mínima necesaria para una contraseña.
Propiedad públicaMiembro estáticoPasswordAttemptWindowObtiene 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.
Propiedad públicaMiembro estáticoPasswordStrengthRegularExpressionObtiene la expresión regular utilizada para evaluar una contraseña.
Propiedad públicaMiembro estáticoProviderObtiene una referencia al proveedor de pertenencia predeterminado para la aplicación.
Propiedad públicaMiembro estáticoProvidersObtiene una colección de los proveedores de pertenencia para la aplicación ASP.NET.
Propiedad públicaMiembro estáticoRequiresQuestionAndAnswerObtiene 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.
Propiedad públicaMiembro estáticoUserIsOnlineTimeWindowEspecifica 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.
Arriba

  NombreDescripción
Método públicoMiembro estáticoCreateUser(String, String)Agrega un nuevo usuario al origen de datos.
Método públicoMiembro estáticoCreateUser(String, String, String)Agrega a un nuevo usuario con una dirección de correo electrónico especificada al almacén de datos.
Método públicoMiembro estáticoCreateUser(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.
Método públicoMiembro estáticoCreateUser(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.
Método públicoMiembro estáticoDeleteUser(String)Elimina un usuario y cualquier dato del usuario relacionado de la base de datos.
Método públicoMiembro estáticoDeleteUser(String, Boolean)Elimina a un usuario de la base de datos.
Método públicoMiembro estáticoFindUsersByEmail(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.
Método públicoMiembro estáticoFindUsersByEmail(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 debe coincidir.
Método públicoMiembro estáticoFindUsersByName(String)Obtiene una colección de usuarios de pertenencia donde el nombre de usuario contiene el nombre de usuario especificado para su coincidencia.
Método públicoMiembro estáticoFindUsersByName(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.
Método públicoMiembro estáticoGeneratePasswordGenera una contraseña aleatoria de la longitud especificada.
Método públicoMiembro estáticoGetAllUsers()Obtiene una colección de todos los usuarios en la base de datos.
Método públicoMiembro estáticoGetAllUsers(Int32, Int32, Int32)Obtiene una colección de todos los usuarios de la base de datos en páginas de datos.
Método públicoMiembro estáticoGetNumberOfUsersOnlineObtiene el número de usuarios que actualmente tienen acceso a una aplicación.
Método públicoMiembro estáticoGetUser()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.
Método públicoMiembro estáticoGetUser(Boolean)Recibe la información del origen de datos para el usuario de pertenencia que ha iniciado la sesión. 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.
Método públicoMiembro estáticoGetUser(Object)Recibe la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado.
Método públicoMiembro estáticoGetUser(String)Recibe la información del origen de datos para el usuario de pertenencia especificado.
Método públicoMiembro estáticoGetUser(Object, Boolean)Recibe la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado. Actualiza la marca de fecha y hora de la última actividad para el usuario, si se ha especificado.
Método públicoMiembro estáticoGetUser(String, Boolean)Recibe la información del origen de datos para el usuario de pertenencia especificado. Actualiza la marca de fecha y hora de la última actividad para el usuario, si se ha especificado.
Método públicoMiembro estáticoGetUserNameByEmailObtiene un nombre de usuario cuya dirección de correo electrónico coincide con la dirección de correo electrónico especificada.
Método públicoMiembro estáticoUpdateUserActualiza la base de datos con la información correspondiente al usuario especificado.
Método públicoMiembro estáticoValidateUserComprueba que el nombre de usuario y la contraseña proporcionados son válidos.
Arriba

  NombreDescripción
Evento públicoMiembro estáticoValidatingPasswordSe produce cuando se crea un usuario, o cuando se cambia o se restablece una contraseña.
Arriba

La clase Membership se utiliza en aplicaciones ASP.NET para validar las credenciales del usuario y administrar la configuración del usuario como contraseñas y direcciones de correo electrónico. La clase Membership se puede utilizar sola o con la clase FormsAuthentication con objeto de crear un sistema completo para autenticar a los usuarios de una aplicación o sitio Web. El control Login encapsula la clase Membership para proporcionar un mecanismo práctico para validar a los usuarios.

NotaNota

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

La clase Membership proporciona los medios para:

  • Crear nuevos usuarios.

  • Almacenar la 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.

  • Autenticar a los usuarios que visitan el sitio. Mediante programación puede autenticar a los usuarios o puede utilizar el control Login para crear un sistema de autenticación completo que requiere poco o ningún código.

  • Administrar contraseñas que incluyen su creación, cambio, recuperación y restablecimiento, etc. Opcionalmente puede configurar la pertenencia a ASP.NET para que requiera una pregunta y una respuesta de contraseña para autenticar las peticiones de restablecimiento o recuperación de la contraseña para aquellos usuarios que la hayan olvidado.

Aunque la pertenencia a ASP.NET es una característica independiente de ASP.NET para la autenticación, se puede integrar con la administración de roles de ASP.NET para proporcionar los servicios de la autorización para su sitio. La pertenencia también se puede integrar con el objeto System.Web.Profile del usuario de ASP.NET para proporcionar una personalización específica de la aplicación que se puede diseñar para usuarios individuales. Para obtener información detallada, vea Understanding ASP.NET Role Management y Understanding ASP.NET Profile Properties.

La clase Membership confía en proveedores de pertenencia para comunicarse con orígenes 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, que le permite almacenar información de usuario en un servidor Active Directory o Active Directory Application Mode (ADAM). También puede implementar un proveedor de pertenencia personalizado para comunicar con un origen de datos alternativo que puede utilizar la clase Membership. Los proveedores de pertenencia personalizados heredan la clase abstracta MembershipProvider. Para obtener más información, vea Implementing a Membership Provider.

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

Puede modificar la configuración predeterminada para especificar otra clase SqlMembershipProvider distinta de la instancia de AspNetSqlProvider como el proveedor predeterminado o especifique una instancia de un proveedor personalizado como el proveedor predeterminado para su aplicación ASP.NET utilizando el archivo Web.config. Puede especificar la configuración de pertenencia de ASP.NET para la aplicación Web utilizando la sección de configuración de membership en el archivo Web.config. Puede utilizar la subsección providers de la sección membership para especificar un proveedor de pertenencia distinto de uno de los proveedores predeterminados. Por ejemplo, la sección membership siguiente quita los proveedores de pertenencia predeterminados de la configuración de la aplicación actual y agrega un nuevo proveedor con un nombre de SqlProvider que 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 ASP.NET. Si las credenciales proporcionadas por el usuario no son válidas, se muestra un mensaje al usuario. De lo contrario, el usuario se redirige a la dirección URL originalmente solicitada mediante el método RedirectFromLoginPage.

NotaNota

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

Nota de seguridadNota sobre la seguridad

En este ejemplo hay un cuadro de texto que acepta datos del usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, las ASP.NET Web Pages validan los datos escritos por el usuario para comprobar que no incluyen script ni elementos HTML. Para obtener más información, vea 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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft