MembershipValidatePasswordEventHandler Delegar

Definição

Representa o método que irá lidar com 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

Isso MembershipProvider levantou o ValidatingPassword evento.

e
ValidatePasswordEventArgs

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

Exemplos

O exemplo de código seguinte mostra um ValidatingPassword evento que valida o formato da palavra-passe para o utilizador, e depois cancela a ação se a palavra-passe não corresponder ao formato exigido.

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

Observações

O MembershipValidatePasswordEventHandler delegado é definido para o ValidatingPassword evento como fornecedor de membros. O ValidatingPassword evento é ativado quando o CreateUser método, o ChangePassword método ou o ResetPassword método de um fornecedor de adesão é chamado.

Pode usar o ValidatingPassword evento para validar formatos e valores de palavra-passe para utilizadores de membros.

Pode cancelar a ação atual CreateUser, , ou ResetPassword definindo a Cancel propriedade do fornecido ValidatePasswordEventArgs para true durante o ValidatingPassword evento. ChangePassword

Se cancelar a ação atual definindo a Cancel propriedade para true, pode definir a FailureInformation propriedade do fornecido ValidatePasswordEventArgs como uma exceção que descreva a razão da falha na validação da palavra-passe. O método que chama lança a exceção para a qual a FailureInformation propriedade está definida. Se a FailureInformation propriedade for null, o chamador lançará uma exceção genérica de falha de validação de palavra-passe.

Métodos da Extensão

Name Description
GetMethodInfo(Delegate)

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

Aplica-se a

Ver também