ValidatePasswordEventArgs コンストラクタ
アセンブリ: System.Web (system.web.dll 内)
構文
Dim userName As String Dim password As String Dim isNewUser As Boolean Dim instance As New ValidatePasswordEventArgs(userName, password, isNewUser)
public function ValidatePasswordEventArgs ( userName : String, password : String, isNewUser : boolean )
ValidatePasswordEventArgs コンストラクタは、CreateUser、ChangePassword、および ResetPassword の各メソッド実装におけるメンバシップ プロバイダ実装によって使用されます。
次のコード例に、新しい ValidatePasswordEventArgs オブジェクトを作成し、ValidatingPassword イベントに渡すサンプル ChangePassword 実装を示します。
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 [" & TableName & "]" & _ " 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
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 [" + tableName + "]" + " 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; }
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
- ValidatePasswordEventArgs コンストラクタのページへのリンク