Freigeben über


MembershipValidatePasswordEventHandler Delegat

Definition

Stellt die Methode dar, die das ValidatingPassword-Ereignis der MembershipProvider-Klasse behandelt.

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)

Parameter

sender
Object

Das MembershipProvider, das das ValidatingPassword-Ereignis ausgelöst hat.

e
ValidatePasswordEventArgs

Ein ValidatePasswordEventArgs-Objekt, das die Ereignisdaten enthält.

Beispiele

Das folgende Codebeispiel zeigt ein ValidatingPassword Ereignis, das das Format des Kennworts für den Benutzer überprüft und die Aktion dann abbricht, wenn das Kennwort nicht dem erforderlichen Format entspricht.

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

Hinweise

Der MembershipValidatePasswordEventHandler Delegat wird für das ValidatingPassword Ereignis für einen Mitgliedschaftsanbieter definiert. Das ValidatingPassword Ereignis wird ausgelöst, wenn die CreateUser -Methode, die ChangePassword -Methode oder die ResetPassword -Methode eines Mitgliedschaftsanbieters aufgerufen wird.

Sie können das ValidatingPassword -Ereignis verwenden, um Kennwortformate und -werte für Mitgliedschaftsbenutzer zu überprüfen.

Sie können die aktuelle CreateUserAktion , oder ResetPassword abbrechen, ChangePasswordindem Sie die Cancel -Eigenschaft des während des ValidatingPassword Ereignisses angegebenen ValidatePasswordEventArgs auf true festlegen.

Wenn Sie die aktuelle Aktion abbrechen, indem Sie die Cancel -Eigenschaft auf truefestlegen, können Sie die FailureInformation -Eigenschaft des angegebenen ValidatePasswordEventArgs auf eine Ausnahme festlegen, die den Grund für den Fehler bei der Kennwortüberprüfung beschreibt. Die aufrufende Methode löst die Ausnahme aus, auf die die FailureInformation -Eigenschaft festgelegt ist. Wenn die FailureInformation -Eigenschaft ist null, löst der Aufrufer eine generische Fehlerfehler-Ausnahme für die Kennwortvalidierung aus.

Erweiterungsmethoden

GetMethodInfo(Delegate)

Ruft ein Objekt ab, das die Methode darstellt, die vom angegebenen Delegaten dargestellt wird.

Gilt für:

Weitere Informationen