MembershipValidatePasswordEventHandler 代理人
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表將處理 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。
包含事件資料的 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為 ,以取消目前的CreateUser、 ChangePassword或 ResetPassword 動作。
如果您藉由將 屬性true
設定Cancel為 來取消目前的動作,您可以將 提供的 ValidatePasswordEventArgs 屬性設定FailureInformation為例外狀況,以描述密碼驗證失敗的原因。 呼叫方法會擲回 屬性設定為的 FailureInformation 例外狀況。
FailureInformation如果 屬性為 null
,呼叫端將會擲回泛型密碼驗證失敗例外狀況。
擴充方法
GetMethodInfo(Delegate) |
取得表示特定委派所代表之方法的物件。 |