Condividi tramite


MembershipValidatePasswordEventHandler Delegato

Definizione

Rappresenta il metodo che gestirà l'evento ValidatingPassword della 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)

Parametri

sender
Object

Oggetto MembershipProvider che ha generato l'evento ValidatingPassword .

e
ValidatePasswordEventArgs

Oggetto ValidatePasswordEventArgs che contiene i dati dell'evento.

Esempio

Nell'esempio di codice seguente viene illustrato un ValidatingPassword evento che convalida il formato della password per l'utente e quindi annulla l'azione se la password non corrisponde al formato richiesto.

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

Commenti

Il MembershipValidatePasswordEventHandler delegato viene definito per l'evento ValidatingPassword per un provider di appartenenze. L'evento ValidatingPassword viene generato quando viene chiamato il CreateUser metodo, il ChangePassword metodo o il ResetPassword metodo di un provider di appartenenze.

È possibile usare l'evento ValidatingPassword per convalidare i formati e i valori delle password per gli utenti di appartenenza.

È possibile annullare l'azione corrente , o impostando la Cancel proprietà dell'oggetto fornito ValidatePasswordEventArgs su true durante l'eventoValidatingPassword.ResetPasswordChangePasswordCreateUser

Se si annulla l'azione corrente impostando la Cancel proprietà su true, è possibile impostare la FailureInformation proprietà dell'oggetto fornito ValidatePasswordEventArgs su un'eccezione che descrive il motivo dell'errore di convalida della password. Il metodo chiamante genererà l'eccezione su cui è impostata la FailureInformation proprietà . Se la FailureInformation proprietà è null, il chiamante genererà un'eccezione generica di errore di convalida della password.

Metodi di estensione

Nome Descrizione
GetMethodInfo(Delegate)

Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato.

Si applica a

Vedi anche