Редагувати

Поділитися через


ValidatePasswordEventArgs Class

Definition

Provides event data for the ValidatingPassword event of the MembershipProvider class.

public ref class ValidatePasswordEventArgs sealed : EventArgs
public sealed class ValidatePasswordEventArgs : EventArgs
type ValidatePasswordEventArgs = class
    inherit EventArgs
Public NotInheritable Class ValidatePasswordEventArgs
Inherits EventArgs
Inheritance
ValidatePasswordEventArgs

Examples

The following code example shows a ValidatingPassword event that validates the format of the password for the user and cancels the action if the password does not match the required format.

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

Remarks

The ValidatingPassword event is raised when the CreateUser, ChangePassword, or ResetPassword method of a membership provider is called.

You can handle the ValidatingPassword event to validate password formats and values for membership users.

You can cancel the current CreateUser, ChangePassword, or ResetPassword action by setting the Cancel property to true during the ValidatingPassword event.

If you cancel the current action by setting the Cancel property to true, you can set the FailureInformation property to an exception that describes the reason for the password-validation failure. The calling method will throw the exception that the FailureInformation property is set to. If the FailureInformation property is null, the caller will throw a generic password-validation failure exception.

Constructors

ValidatePasswordEventArgs(String, String, Boolean)

Creates a new instance of the ValidatePasswordEventArgs class.

Properties

Cancel

Gets or sets a value that indicates whether the current create-user, change-password, or reset-password action will be canceled.

FailureInformation

Gets or sets an exception that describes the reason for the password-validation failure.

IsNewUser

Gets a value that indicates whether the ValidatingPassword event is being raised during a call to the CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) method.

Password

Gets the password for the current create-user, change-password, or reset-password action.

UserName

Gets the name of the membership user for the current create-user, change-password, or reset-password action.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also