次の方法で共有


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 使用して、メンバーシップ ユーザーのパスワード形式と値を検証できます。

イベント中に 指定された trueValidatePasswordEventArgs の プロパティをCancel設定することで、現在CreateUserの 、ChangePassword、または ResetPassword アクションをValidatingPassword取り消すことができます。

プロパティを に設定して現在のアクションをCanceltrue取り消す場合は、指定された ValidatePasswordEventArgs のプロパティを、パスワード検証エラーの理由を説明する例外に設定FailureInformationできます。 呼び出し元のメソッドは、 プロパティが設定されている例外を FailureInformation スローします。 プロパティが の FailureInformation 場合、 null呼び出し元は一般的なパスワード検証エラー例外をスローします。

拡張メソッド

GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。

適用対象

こちらもご覧ください