MembershipValidatePasswordEventHandler 委托

定义

表示将处理 MembershipProvider 类的 ValidatingPassword 事件的方法。

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成员资格提供程序的 方法、ChangePassword方法或 ResetPassword 方法时CreateUser,将引发 事件。

可以使用 ValidatingPassword 事件来验证成员身份用户的密码格式和值。

可以通过在事件期间ValidatingPassword设置Cancel提供的 ValidatePasswordEventArgstrue 的 属性来取消当前的 CreateUserChangePasswordResetPassword 操作。

如果通过将 属性设置为 Canceltrue来取消当前操作,则可以将提供的 ValidatePasswordEventArgs 的 属性设置为FailureInformation描述密码验证失败原因的异常。 调用方法将引发 属性设置为 的 FailureInformation 异常。 FailureInformation如果 属性为 null,则调用方将引发泛型密码验证失败异常。

扩展方法

GetMethodInfo(Delegate)

获取指示指定委托表示的方法的对象。

适用于

另请参阅