Partilhar via


MembershipValidatePasswordEventHandler Delegar

Definição

Representa o método que manipulará o ValidatingPassword evento da MembershipProvider classe.

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

O MembershipProvider que gerou o ValidatingPassword evento.

e
ValidatePasswordEventArgs

Um ValidatePasswordEventArgs objeto que contém os dados do evento.

Exemplos

O exemplo de código a seguir mostra um ValidatingPassword evento que valida o formato da senha para o usuário e, em seguida, cancela a ação se a senha não corresponder ao formato necessário.

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

Comentários

O MembershipValidatePasswordEventHandler delegado é definido para o ValidatingPassword evento para um provedor de associação. O ValidatingPassword evento é gerado quando o CreateUser método, o ChangePassword método ou o ResetPassword método de um provedor de associação é chamado.

Você pode usar o ValidatingPassword evento para validar formatos e valores de senha para usuários associados.

Você pode cancelar a ação ou ação atual definindo a Cancel propriedade do fornecido ValidatePasswordEventArgstrue durante o ValidatingPassword evento.CreateUserChangePasswordResetPassword

Se você cancelar a ação atual definindo a Cancel propriedade como true, poderá definir a FailureInformation propriedade do fornecido ValidatePasswordEventArgs para uma exceção que descreve o motivo da falha de validação de senha. O método de chamada gerará a exceção à qual a FailureInformation propriedade está definida. Se a FailureInformation propriedade for null, o chamador gerará uma exceção de falha de validação de senha genérica.

Métodos de Extensão

Nome Description
GetMethodInfo(Delegate)

Obtém um objeto que representa o método representado pelo delegado especificado.

Aplica-se a

Confira também