ValidatePasswordEventArgs(String, String, Boolean) Конструктор
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает новый экземпляр класса ValidatePasswordEventArgs.
public:
ValidatePasswordEventArgs(System::String ^ userName, System::String ^ password, bool isNewUser);
public ValidatePasswordEventArgs (string userName, string password, bool isNewUser);
new System.Web.Security.ValidatePasswordEventArgs : string * string * bool -> System.Web.Security.ValidatePasswordEventArgs
Public Sub New (userName As String, password As String, isNewUser As Boolean)
Параметры
- userName
- String
Имя авторизованного пользователя для текущего действия создания пользователя, изменения пароля или сброса пароля.
- password
- String
Новый пароль для указанного авторизованного пользователя.
- isNewUser
- Boolean
Значение true
, если событие происходит при создании нового пользователя; в противном случае — значение false
.
Примеры
В следующем примере кода показан пример ChangePassword реализации, который создает новый ValidatePasswordEventArgs объект для передачи в ValidatingPassword событие .
public override bool ChangePassword(string username, string oldPwd, string newPwd)
{
if (!ValidateUser(username, oldPwd))
{
return false;
}
ValidatePasswordEventArgs args =
new ValidatePasswordEventArgs(username, newPwd, true);
OnValidatingPassword(args);
if (args.Cancel)
if (args.FailureInformation != null)
throw args.FailureInformation;
else
throw new MembershipPasswordException("Change password canceled due to new password validation failure.");
OdbcConnection conn = new OdbcConnection(ConnectionString);
OdbcCommand cmd = new OdbcCommand("UPDATE Users " +
" SET Password = ?, LastPasswordChangedDate = ? " +
" WHERE Username = ? AND Password = ? AND ApplicationName = ?", conn);
cmd.Parameters.Add("@Password", OdbcType.VarChar, 128).Value = EncodePassword(newPwd);
cmd.Parameters.Add("@LastPasswordChangedDate", OdbcType.DateTime).Value = DateTime.Now;
cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username;
cmd.Parameters.Add("@OldPassword", OdbcType.VarChar, 128).Value = oldPwd;
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;
int rowsAffected = 0;
try
{
conn.Open();
rowsAffected = cmd.ExecuteNonQuery();
}
catch (OdbcException)
{
// Handle exception.
}
finally
{
conn.Close();
}
if (rowsAffected > 0)
{
return true;
}
return false;
}
Public Overrides Function ChangePassword(username As String, _
oldPwd As String, _
newPwd As String) As Boolean
If Not ValidateUser(username, oldPwd) Then
Return False
End If
Dim args As ValidatePasswordEventArgs = _
New ValidatePasswordEventArgs(username, newPwd, True)
OnValidatingPassword(args)
If args.Cancel Then
If Not args.FailureInformation Is Nothing Then
Throw args.FailureInformation
Else
Throw New MembershipPasswordException("Change password canceled due to New password validation failure.")
End If
End If
Dim conn As OdbcConnection = New OdbcConnection(ConnectionString)
Dim cmd As OdbcCommand = New OdbcCommand("UPDATE Users " & _
" SET Password = ?, LastPasswordChangedDate = ? " & _
" WHERE Username = ? AND Password = ? AND ApplicationName = ?", conn)
cmd.Parameters.Add("@Password", OdbcType.VarChar, 128).Value = EncodePassword(newPwd)
cmd.Parameters.Add("@LastPasswordChangedDate", OdbcType.DateTime).Value = DateTime.Now
cmd.Parameters.Add("@Username", OdbcType.VarChar, 255).Value = username
cmd.Parameters.Add("@OldPassword", OdbcType.VarChar, 128).Value = oldPwd
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName
Dim rowsAffected As Integer = 0
Try
conn.Open()
rowsAffected = cmd.ExecuteNonQuery()
Catch e As OdbcException
' Handle exception.
Finally
conn.Close()
End Try
If rowsAffected > 0 Then Return True
Return False
End Function
Комментарии
Конструктор ValidatePasswordEventArgs используется реализацией поставщика членства в CreateUserреализациях методов , ChangePasswordи ResetPassword .