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

Public Overrides Function ChangePasswordQuestionAndAnswer ( _ username As String, _ password As String, _ newPasswordQuestion As String, _ newPasswordAnswer As String _ ) As Boolean
Dim instance As SqlMembershipProvider Dim username As String Dim password As String Dim newPasswordQuestion As String Dim newPasswordAnswer As String Dim returnValue As Boolean returnValue = instance.ChangePasswordQuestionAndAnswer(username, password, newPasswordQuestion, newPasswordAnswer)
public override bool ChangePasswordQuestionAndAnswer ( string username, string password, string newPasswordQuestion, string newPasswordAnswer )
public: virtual bool ChangePasswordQuestionAndAnswer ( String^ username, String^ password, String^ newPasswordQuestion, String^ newPasswordAnswer ) override
public boolean ChangePasswordQuestionAndAnswer ( String username, String password, String newPasswordQuestion, String newPasswordAnswer )
public override function ChangePasswordQuestionAndAnswer ( username : String, password : String, newPasswordQuestion : String, newPasswordAnswer : String ) : boolean
戻り値
更新が成功した場合は true。それ以外の場合は false。password が無効であったり、ユーザーがロックされていたり、ユーザーがデータベースに存在していない場合にも false が返されます。

例外の種類 | 条件 |
---|---|
System.ArgumentException | username が空の文字列 ("") であるか、コンマを含んでいるか、または 256 文字を超えています。 または password が空の文字列であるか、または 128 文字を超えています。 または newPasswordQuestion が空の文字列であるか、または 256 文字を超えています。 または newPasswordAnswer が空の文字列であるか、または 128 文字を超えています。 または |
System.ArgumentNullException | username が null 参照 (Visual Basic では Nothing) です。 または password が null 参照 (Visual Basic では Nothing) です。 または newPasswordQuestion が null 参照 (Visual Basic では Nothing) で RequiresQuestionAndAnswer が true です。 または newPasswordAnswer が null 参照 (Visual Basic では Nothing) で RequiresQuestionAndAnswer が true です。 |
ProviderException |

このメソッドは MembershipUser クラスによって呼び出され、ASP.NET アプリケーションの構成ファイル (Web.config) に指定されている SQL Server データベースでユーザーのパスワードの質問と解答を更新します。
パスワードの質問と解答を要求することにより、ユーザー パスワードを取得またはリセットする際のセキュリティをさらに高めることができます。ユーザー名を作成するときに、パスワードを忘れた場合に備えて、忘れたパスワードを取得したりリセットしたりする際に使用される質問とその解答を設定しておくことができます。ChangePasswordQuestionAndAnswer メソッドは、メンバシップ ユーザーのパスワードの質問と解答を更新します。
正しくないパスワードが ChangePasswordQuestionAndAnswer メソッドに対して入力されると、無効なパスワードの指定回数を追跡する内部カウンタが 1 つインクリメントされます。これにより、ユーザーをロックし、UnlockUser メソッドが呼び出されてロック ステータスが解除されるまでそのユーザーのログオンを禁止できます。ユーザーがロックされていない状態で正しいパスワードが指定されると、無効なパスワードおよび無効なパスワード解答の指定回数を追跡する内部カウンタはゼロにリセットされます。詳細については、MaxInvalidPasswordAttempts プロパティのトピックと PasswordAttemptWindow プロパティのトピックを参照してください。
パスワードの質問の最大長は 256 文字です。パスワードの解答の最大長は 128 文字です。
詳細については、「RequiresQuestionAndAnswer」、「ResetPassword」、および「GetPassword」を参照してください。

ユーザーのパスワードの質問と解答を更新するコード例を次にします。
![]() |
---|
このコード例では、Membership クラスの Provider プロパティを使用して、Web.config ファイル内の defaultProvider として指定されている SqlMembershipProvider を呼び出します。既定のプロバイダに SqlMembershipProvider 型としてアクセスする必要がある場合は、Membership クラスの Provider プロパティをキャストできます。固有のプロバイダの種類として構成されたその他のプロバイダにアクセスする場合、Membership クラスの Providers プロパティを使用して、参照されたプロバイダを固有プロバイダの種類としてキャストすることによって、構成された名前でアクセスできます。 |
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub ChangePasswordQuestion_OnClick(sender As Object, args As EventArgs) Try If Membership.Provider.ChangePasswordQuestionAndAnswer(User.Identity.Name, _ PasswordTextbox.Text, _ QuestionTextbox.Text, _ AnswerTextbox.Text) Then Msg.Text = "Password question and answer changed." Else Msg.Text = "Change failed. Please reenter your values and try again." End If Catch e As System.Configuration.Provider.ProviderException Msg.Text = "Change failed. Please reenter your values and try again." End Try End Sub </script> <html> <head> <title>Sample: Change Password Question and Answer</title> </head> <body> <form runat="server"> <h3>Change Password Question and Answer for <%=User.Identity.Name%></h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><BR> <table CellPadding="3" border="0"> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="OldPasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>New Password Question:</td> <td><asp:Textbox id="QuestionTextbox" MaxLength="256" Columns="60" runat="server" /></td> <td><asp:RequiredFieldValidator id="QuestionRequiredValidator" runat="server" ControlToValidate="QuestionTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>New Password Answer:</td> <td><asp:Textbox id="AnswerTextbox" MaxLength="128" Columns="60" runat="server" /></td> <td><asp:RequiredFieldValidator id="AnswerRequiredValidator" runat="server" ControlToValidate="AnswerTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td></td> <td><asp:Button id="ChangePasswordQuestionButton" Text="Change Password Question and Answer" OnClick="ChangePasswordQuestion_OnClick" runat="server" /></td> </tr> </table> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> public void ChangePasswordQuestion_OnClick(object sender, EventArgs args) { try { if (Membership.Provider.ChangePasswordQuestionAndAnswer(User.Identity.Name , PasswordTextbox.Text, QuestionTextbox.Text, AnswerTextbox.Text)) Msg.Text = "Password question and answer changed."; else Msg.Text = "Change failed. Please reenter your values and try again."; } catch (System.Configuration.Provider.ProviderException e) { Msg.Text = "Change failed. Please reenter your values and try again."; } } </script> <html> <head> <title>Sample: Change Password Question and Answer</title> </head> <body> <form runat="server"> <h3>Change Password Question and Answer for <%=User.Identity.Name%></h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><BR> <table CellPadding="3" border="0"> <tr> <td>Password:</td> <td><asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /></td> <td><asp:RequiredFieldValidator id="OldPasswordRequiredValidator" runat="server" ControlToValidate="PasswordTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>New Password Question:</td> <td><asp:Textbox id="QuestionTextbox" MaxLength="256" Columns="60" runat="server" /></td> <td><asp:RequiredFieldValidator id="QuestionRequiredValidator" runat="server" ControlToValidate="QuestionTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td>New Password Answer:</td> <td><asp:Textbox id="AnswerTextbox" MaxLength="128" Columns="60" runat="server" /></td> <td><asp:RequiredFieldValidator id="AnswerRequiredValidator" runat="server" ControlToValidate="AnswerTextbox" ForeColor="red" Display="Static" ErrorMessage="Required" /></td> </tr> <tr> <td></td> <td><asp:Button id="ChangePasswordQuestionButton" Text="Change Password Question and Answer" OnClick="ChangePasswordQuestion_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.ChangePasswordQuestionAndAnswer メソッドを検索する場合は、下記のリンクをクリックしてください。

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