共用方式為


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提供的 ValidatePasswordEventArgstrue 屬性設定Cancel為 ,以取消目前的CreateUserChangePasswordResetPassword 動作。

如果您藉由將 屬性true設定Cancel為 來取消目前的動作,您可以將 提供的 ValidatePasswordEventArgs 屬性設定FailureInformation為例外狀況,以描述密碼驗證失敗的原因。 呼叫方法會擲回 屬性設定為的 FailureInformation 例外狀況。 FailureInformation如果 屬性為 null,呼叫端將會擲回泛型密碼驗證失敗例外狀況。

擴充方法

GetMethodInfo(Delegate)

取得表示特定委派所代表之方法的物件。

適用於

另請參閱