SqlMembershipProvider.ChangePassword メソッド
アセンブリ: System.Web (system.web.dll 内)

Public Overrides Function ChangePassword ( _ username As String, _ oldPassword As String, _ newPassword As String _ ) As Boolean
Dim instance As SqlMembershipProvider Dim username As String Dim oldPassword As String Dim newPassword As String Dim returnValue As Boolean returnValue = instance.ChangePassword(username, oldPassword, newPassword)
public: virtual bool ChangePassword ( String^ username, String^ oldPassword, String^ newPassword ) override
public override function ChangePassword ( username : String, oldPassword : String, newPassword : String ) : boolean
戻り値
パスワードが正常に更新された場合は true。指定した現在のパスワードが無効だったり、ユーザーがロックされていたり、ユーザーがデータベースに存在していない場合は false。

例外の種類 | 条件 |
---|---|
System.ArgumentException | username が空の文字列 ("") であるか、コンマを含んでいるか、または 256 文字を超えています。 または oldPassword が空の文字列であるか、または 128 文字を超えています。 または newPassword が空の文字列であるか、または 128 文字を超えています。 または エンコードされた newPassword の長さが 128 文字を超えています。 または パスワード変更アクションが ValidatingPassword イベントのサブスクライバによってキャンセルされ、かつ FailureInformation プロパティが null 参照 (Visual Basic では Nothing) です。 または newPassword の長さが、MinRequiredPasswordLength プロパティで指定されている必要なパスワード長に足りません。 または newPassword 内のアルファベット以外の文字数が MinRequiredNonAlphanumericCharacters プロパティで指定されている、パスワードに最低限含む必要のあるアルファベット以外の文字の数に足りません。 または newPassword が PasswordStrengthRegularExpression プロパティで定義されている正規表現に違反しています。 |
System.ArgumentNullException | username が null 参照 (Visual Basic では Nothing) です。 または oldPassword が null 参照 (Visual Basic では Nothing) です。 または newPassword が null 参照 (Visual Basic では Nothing) です。 |
System.Configuration.Provider.ProviderException |

このメソッドは Membership クラスによって呼び出され、ASP.NET アプリケーションの構成ファイル (Web.config) に指定されている SQL Server データベースでユーザーのパスワードを更新します。
正しくないパスワードが ChangePassword メソッドに対して入力されると、無効なパスワードの指定回数を追跡する内部カウンタが 1 つインクリメントされます。これにより、ユーザーをロックし、UnlockUser メソッドが呼び出されてロック ステータスが解除されるまでそのユーザーのログオンを禁止できます。ユーザーがロックされていない状態で正しいパスワードが指定されると、無効なパスワードおよび無効なパスワード解答の指定回数を追跡する内部カウンタはゼロにリセットされます。詳細については、MaxInvalidPasswordAttempts プロパティのトピックと PasswordAttemptWindow プロパティのトピックを参照してください。
ChangePassword メソッドは、最初に Membership クラスの Provider プロパティを介して SqlMembershipProvider インスタンスの参照を取得することにより、直接呼び出すことができます。Provider プロパティは、アプリケーションの Web.config ファイルに指定されている defaultProvider を公開します。既定のプロバイダではない構成されたプロバイダは Providers プロパティを参照します。

指定したユーザーのパスワードを変更するコード例を次に示します。
![]() |
---|
このコード例では、Membership クラスの Provider プロパティを使用して、Web.config ファイル内の defaultProvider として指定されている SqlMembershipProvider を呼び出します。既定のプロバイダに SqlMembershipProvider 型としてアクセスする必要がある場合は、Membership クラスの Provider プロパティをキャストできます。固有のプロバイダの種類として構成されたその他のプロバイダにアクセスする場合、Membership クラスの Providers プロパティを使用して、参照されたプロバイダを固有プロバイダの種類としてキャストすることによって、構成された名前でアクセスできます。 |
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub ChangePassword_OnClick(sender As Object, args As EventArgs) Try ' Update the password. If Membership.Provider.ChangePassword(User.Identity.Name, _ OldPasswordTextbox.Text, _ PasswordTextbox.Text) Then Msg.Text = "Password changed." Return End If Catch End Try Msg.Text = "Password change failed. Please re-enter your values and try again." End Sub </script> <html> <head> <title>Change Password</title> </head> <body> <form runat="server"> <h3>Change Password for <%=User.Identity.Name%></h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /> <table CellPadding="3" border="0"> <tr> <td>Old Password:</td> <td><asp:Textbox id="OldPasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="OldPasswordRequiredValidator" runat="server" ControlToValidate="OldPasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Confirm Password:</td> <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /> <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ControlToCompare="PasswordTextBox" ErrorMessage="Confirm password must match password." /> </td> </tr> <tr> <td></td> <td><asp:Button id="ChangePasswordButton" Text="Change Password" OnClick="ChangePassword_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> public void ChangePassword_OnClick(object sender, EventArgs args) { try { // Update the password. if (Membership.Provider.ChangePassword(User.Identity.Name, OldPasswordTextbox.Text, PasswordTextbox.Text)) { Msg.Text = "Password changed."; return; } } catch { } Msg.Text = "Password change failed. Please re-enter your values and try again."; } </script> <html> <head> <title>Change Password</title> </head> <body> <form runat="server"> <h3>Change Password for <%=User.Identity.Name%></h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /> <table CellPadding="3" border="0"> <tr> <td>Old Password:</td> <td><asp:Textbox id="OldPasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="OldPasswordRequiredValidator" runat="server" ControlToValidate="OldPasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>Confirm Password:</td> <td><asp:Textbox id="PasswordConfirmTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="PasswordConfirmRequiredValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /> <asp:CompareValidator id="PasswordConfirmCompareValidator" runat="server" ControlToValidate="PasswordConfirmTextbox" ForeColor="red" Display="Static" ControlToCompare="PasswordTextBox" ErrorMessage="Confirm password must match password." /> </td> </tr> <tr> <td></td> <td><asp:Button id="ChangePasswordButton" Text="Change Password" OnClick="ChangePassword_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSqlMembershipProvider.ChangePassword メソッドを検索する場合は、下記のリンクをクリックしてください。

- SqlMembershipProvider.ChangePassword メソッドのページへのリンク