Поделиться через


MembershipValidatePasswordEventHandler Делегат

Определение

Представляет метод, обрабатывающий событие ValidatingPassword класса 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)

Параметры

sender
Object

Объект MembershipProvider, сгенерировавший событие ValidatingPassword.

e
ValidatePasswordEventArgs

Объект ValidatePasswordEventArgs, содержащий данные события.

Примеры

В следующем примере кода показано ValidatingPassword событие, которое проверяет формат пароля для пользователя, а затем отменяет действие, если пароль не соответствует требуемому формату.

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

Комментарии

Делегат MembershipValidatePasswordEventHandler определяется для ValidatingPassword события для поставщика членства. Событие ValidatingPassword возникает при вызове CreateUser метода, ChangePassword метода или ResetPassword метода поставщика членства.

Событие можно использовать ValidatingPassword для проверки форматов паролей и значений для пользователей членства.

Вы можете отменить текущее CreateUserдействие , или ResetPassword , ChangePasswordзадав свойству Cancel предоставленного ValidatePasswordEventArgstrue значение во время ValidatingPassword события.

Если отменить текущее действие, задав Cancel для свойства значение true, можно задать FailureInformation для свойства предоставленного ValidatePasswordEventArgs исключение, описывающее причину сбоя проверки пароля. Вызывающий метод создает исключение, FailureInformation для свойства задано значение . FailureInformation Если свойство имеет значение null, вызывающий объект вызовет универсальное исключение ошибки проверки пароля.

Методы расширения

GetMethodInfo(Delegate)

Получает объект, представляющий метод, представленный указанным делегатом.

Применяется к

См. также раздел