Compartir vía


MembershipValidatePasswordEventHandler Delegado

Definición

Representa el método que controlará el evento ValidatingPassword de la clase MembershipProvider.

public delegate void MembershipValidatePasswordEventHandler(System::Object ^ sender, ValidatePasswordEventArgs ^ e);
public delegate void MembershipValidatePasswordEventHandler(object sender, ValidatePasswordEventArgs e);
type MembershipValidatePasswordEventHandler = delegate of obj * ValidatePasswordEventArgs -> unit
Public Delegate Sub MembershipValidatePasswordEventHandler(sender As Object, e As ValidatePasswordEventArgs)

Parámetros

sender
Object

La clase MembershipProvider que provocó el evento ValidatingPassword.

e
ValidatePasswordEventArgs

Objeto ValidatePasswordEventArgs que contiene los datos del evento.

Ejemplos

En el ejemplo de código siguiente se muestra un ValidatingPassword evento que valida el formato de la contraseña para el usuario y, a continuación, cancela la acción si la contraseña no coincide con el formato necesario.

public void Page_Load()
{
  Membership.ValidatingPassword +=
    new MembershipValidatePasswordEventHandler(OnValidatePassword);
}

public void OnValidatePassword(object sender,
                              ValidatePasswordEventArgs args)
{
  System.Text.RegularExpressions.Regex r =
    new System.Text.RegularExpressions.Regex(@"(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,})");


  if (!r.IsMatch(args.Password))
  {
    args.FailureInformation =
      new HttpException("Password must be at least 6 characters long and " +
                        "contain at least one number and one special character.");
    args.Cancel = true;
  }
}
Public Sub Page_Load()
    AddHandler Membership.ValidatingPassword, _
    New MembershipValidatePasswordEventHandler(AddressOf OnValidatePassword)
End Sub

Public Sub OnValidatePassword(sender As Object, _
                               args As ValidatePasswordEventArgs)
  Dim r As System.Text.RegularExpressions.Regex =  _
    New System.Text.RegularExpressions.Regex("(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,})")
         

  If Not r.IsMatch(args.Password) Then
    args.FailureInformation = _
      New HttpException("Password must be at least 6 characters long and " & _
                        "contain at least one number and one special character.")
    args.Cancel = True
  End If
End Sub

Comentarios

El MembershipValidatePasswordEventHandler delegado se define para el ValidatingPassword evento para un proveedor de pertenencia. El ValidatingPassword evento se genera cuando se llama al CreateUser método, al ChangePassword método o al ResetPassword método de un proveedor de pertenencia.

Puede usar el ValidatingPassword evento para validar los formatos de contraseña y los valores de los usuarios de pertenencia.

Puede cancelar la acción actual CreateUser, ChangePasswordo ResetPassword estableciendo la Cancel propiedad del proporcionado ValidatePasswordEventArgs en true durante el ValidatingPassword evento.

Si cancela la acción actual estableciendo la Cancel propiedad trueen , puede establecer la FailureInformation propiedad del proporcionado ValidatePasswordEventArgs en una excepción que describa el motivo del error de validación de contraseña. El método de llamada producirá la excepción en la que se establece la FailureInformation propiedad . Si la FailureInformation propiedad es null, el autor de la llamada producirá una excepción genérica de error de validación de contraseña.

Métodos de extensión

GetMethodInfo(Delegate)

Obtiene un objeto que representa el método representado por el delegado especificado.

Se aplica a

Consulte también