Partilhar via


MembershipValidatePasswordEventHandler Delegar

Definição

Representa o método que manipulará o evento ValidatingPassword da classe 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

O MembershipProvider que gerou o evento ValidatingPassword.

e
ValidatePasswordEventArgs

Um objeto de ValidatePasswordEventArgs 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 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 atual , ou definindo a Cancel propriedade do fornecido trueValidatePasswordEventArgs para durante o ValidatingPassword evento.ResetPasswordChangePasswordCreateUser

Se você cancelar a ação atual definindo a Cancel propriedade truecomo , poderá definir a FailureInformation propriedade do fornecido ValidatePasswordEventArgs como uma exceção que descreve o motivo da falha de validação de senha. O método de chamada gerará 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 senha.

Métodos de Extensão

GetMethodInfo(Delegate)

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

Aplica-se a

Confira também