Membership.ValidatingPassword 事件

定義

當建立使用者、變更密碼或重設密碼時發生。

public:
 static event System::Web::Security::MembershipValidatePasswordEventHandler ^ ValidatingPassword;
public static event System.Web.Security.MembershipValidatePasswordEventHandler ValidatingPassword;
member this.ValidatingPassword : System.Web.Security.MembershipValidatePasswordEventHandler 
Public Shared Custom Event ValidatingPassword As MembershipValidatePasswordEventHandler 

事件類型

範例

下列程式碼範例顯示 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

備註

ValidatingPassword呼叫成員資格提供者的方法、 ChangePassword 方法或 ResetPassword 方法時 CreateUser ,就會引發事件。

您可以使用 ValidatingPassword 事件來驗證成員資格使用者的密碼格式和值。

您可以藉由將 事件期間 ValidatingPassword 提供的 ValidatePasswordEventArgstrue 屬性設定 Cancel 為 ,以取消目前的 CreateUserChangePasswordResetPassword 動作。

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

適用於

另請參閱