SqlMembershipProvider.ResetPassword メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SqlMembershipProvider.ResetPassword メソッドの意味・解説 

SqlMembershipProvider.ResetPassword メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

ユーザーパスワードを、自動的に生成され新しパスワードリセットします。

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Overrides Function
 ResetPassword ( _
    username As String, _
    passwordAnswer As String _
) As String
Dim instance As SqlMembershipProvider
Dim username As String
Dim passwordAnswer As String
Dim returnValue As String

returnValue = instance.ResetPassword(username, passwordAnswer)
public override string ResetPassword (
    string username,
    string passwordAnswer
)
public:
virtual String^ ResetPassword (
    String^ username, 
    String^ passwordAnswer
) override
public String ResetPassword (
    String username, 
    String passwordAnswer
)
public override function ResetPassword (
    username : String, 
    passwordAnswer : String
) : String

パラメータ

username

パスワードリセットするユーザー

passwordAnswer

指定したユーザー対すパスワード解答

戻り値
指定したユーザー新しパスワード

例外例外
例外種類条件

System.Web.Security.MembershipPasswordException

passwordAnswer無効です。

または

ユーザー アカウントが現在ロックされています。

System.NotSupportedException

EnablePasswordReset が false設定されています。

System.Configuration.Provider.ProviderException

usernameメンバシップ データベース内に見つかりません。

または

パスワード変更アクションが ValidatingPassword イベントのサブスクライバによってキャンセルされ、かつ FailureInformation プロパティnull 参照 (Visual Basic では Nothing) です。

または

データベースからパスワード取得しているときにエラー発生しました

System.ArgumentException

username空の文字列 ("") であるか、コンマ含んでいるか、または 256 文字超えてます。

または

passwordAnswer空の文字列であるか 128 文字超えていて、かつ RequiresQuestionAndAnswer が true です。

または

エンコードされた passwordAnswer128 文字超えてます。

System.ArgumentNullException

usernamenull 参照 (Visual Basic では Nothing) です。

または

passwordAnswernull 参照 (Visual Basic では Nothing) で RequiresQuestionAndAnswertrue です。

解説解説

このメソッドMembership クラスによって呼び出されASP.NET アプリケーション構成ファイル (Web.config) に指定されている SQL Server データベース内のユーザーパスワードを、ランダムに生成され新しい値にリセットします。新しパスワード返されます。

メモメモ

ResetPassword メソッドにより生成されランダム パスワードは、PasswordStrengthRegularExpression プロパティ正規表現合格するとは限りません。ただし、ランダム パスワードは、MinRequiredPasswordLength プロパティおよび MinRequiredNonAlphanumericCharacters プロパティ設定され基準満たしてます。

ResetPassword メソッドは、一般に PasswordFormat プロパティHashed場合使用されます。ハッシュされるパスワードユーザー忘れた場合ユーザーパスワード取得できません。ただし、ユーザー正しパスワード解答入力した場合プロバイダ側で、自動的に生成され新しパスワードパスワードリセットできます

正しくないパスワード解答ResetPassword メソッドに対して入力されると、無効なパスワード指定回数追跡する内部カウンタ1 つインクリメントされます。これにより、ユーザーロックし、UnlockUser メソッド呼び出されロック ステータス解除されるまでそのユーザーログオン禁止できますユーザーロックされていない状態で、正しパスワード解答指定されると、無効なパスワード解答指定回数追跡する内部カウンタゼロリセットされます。詳細については、MaxInvalidPasswordAttempts プロパティトピックと PasswordAttemptWindow プロパティトピック参照してください

ResetPassword メソッドは、最初に Membership クラスProvider プロパティから SqlMembershipProvider インスタンス参照取得することにより、直接呼び出すことができます生成されるパスワード14 文字以上または MinRequiredPasswordLength プロパティ指定されている長さ以上になり、MinRequiredNonAlphanumericCharacters プロパティ指定されている数の英数字以外の文字含みますPasswordStrengthRegularExpression プロパティ指定されている場合、このパスワードがその正規表現合格するかどうかについては保証されません。

すべてのパラメータ値について先頭末尾空白トリムされます

使用例使用例

ユーザーパスワードリセットし自動的に生成される新しパスワード返すコード例次に示します

メモメモ

このコード例では、Membership クラス使用して、Web.config ファイル内の defaultProvider として指定されている SqlMembershipProvider呼び出します。既定プロバイダSqlMembershipProvider 型としてアクセスする必要がある場合は、Membership クラスProvider プロパティキャストできます固有のプロバイダ種類として構成されその他のプロバイダアクセスする場合Membership クラスの Providers プロパティ使用して参照されプロバイダ固有プロバイダ種類としてキャストすることによって、構成された名前でアクセスできます

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security"
 %>
<script runat="server">

Public Sub Page_Load(sender As
 Object, args As EventArgs)

  If Not Membership.EnablePasswordReset Then
    FormsAuthentication.RedirectToLoginPage()
  End If

  Msg.Text = ""

  If Not IsPostBack Then
    Msg.Text = "Please enter a user name."
  Else
    VerifyUsername()
  End If

End Sub


Public Sub VerifyUsername()

    Dim user As MembershipUser = Membership.GetUser(UsernameTextBox.Text,
 False)

    If user Is Nothing Then
      Msg.Text = "The user name " & Server.HtmlEncode(UsernameTextBox.Text)
 & " was not found. Please check the value and reenter your
 user name."

      QuestionLabel.Text = ""
      QuestionLabel.Enabled = False
      AnswerTextBox.Enabled = False
      ResetPasswordButton.Enabled = False
    Else
      QuestionLabel.Text = user.PasswordQuestion
      QuestionLabel.Enabled = True
      AnswerTextBox.Enabled = True
      ResetPasswordButton.Enabled = True
    End If

End Sub


Public Sub ResetPassword_OnClick(sender As
 Object, args As EventArgs)

  Dim newPassword As String
 = ""

  Try
    newPassword = Membership.Provider.ResetPassword(UsernameTextBox.Text, AnswerTextBox.Text)
  Catch e As NotSupportedException
    Msg.Text = "An error has occurred resetting your password:
 " & e.Message & "." & _
               "Please check your values and try again."
  Catch e As MembershipPasswordException
    Msg.Text = "Invalid password answer. Please reenter the answer
 and try again."
    Return
  Catch e As System.Configuration.Provider.ProviderException
    Msg.Text = "The specified user name does not exist. Please
 check your value and try again."
  End Try

  If newPassword <> "" Then
    Msg.Text = "Password reset. Your new password is: "
 & Server.HtmlEncode(newPassword)
  Else
    Msg.Text = "Password reset failed. Please reenter your values
 and try again."
  End If

End Sub


</script>
<html>
<head>
<title>Sample: Reset Password</title>
</head>
<body>

<form runat="server">
  <h3>Reset Password</h3>

  <asp:Label id="Msg" runat="server"
 ForeColor="maroon" /><BR>

  Username: <asp:Textbox id="UsernameTextBox" Columns="30"
 runat="server" AutoPostBack="True"
 />
            <asp:RequiredFieldValidator id="UsernameRequiredValidator"
 runat="server"
                                        ControlToValidate="UsernameTextBox"
 ForeColor="red"
                                        Display="Static"
 ErrorMessage="Required" /><BR>

  Password Question: <B><asp:Label id="QuestionLabel"
 runat="server" /></B><BR>

  Answer: <asp:TextBox id="AnswerTextBox" Columns="60"
 runat="server" Enabled="False"
 />
          <asp:RequiredFieldValidator id="AnswerRequiredValidator"
 runat="server"
                                      ControlToValidate="AnswerTextBox"
 ForeColor="red"
                                      Display="Static"
 ErrorMessage="Required" Enabled="False"
 /><BR>

  <asp:Button id="ResetPasswordButton" Text="Reset
 Password" 
              OnClick="ResetPassword_OnClick" runat="server"
 Enabled="False" />

</form>

</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<script runat="server">

public void Page_Load(object sender, EventArgs
 args)
{
  if (!Membership.EnablePasswordReset)
  {
    FormsAuthentication.RedirectToLoginPage();
  }

  Msg.Text = "";

  if (!IsPostBack)
  {
    Msg.Text = "Please enter a user name.";
  }
  else
  {
    VerifyUsername();
  }
}


public void VerifyUsername()
{
    MembershipUser user = Membership.GetUser(UsernameTextBox.Text, false);

    if (user == null)
    {
      Msg.Text = "The user name " + Server.HtmlEncode(UsernameTextBox.Text)
 + " was not found. Please check the value and reenter your user name.";

      QuestionLabel.Text = "";
      QuestionLabel.Enabled = false;
      AnswerTextBox.Enabled = false;
      ResetPasswordButton.Enabled = false;
    }
    else
    {
      QuestionLabel.Text = user.PasswordQuestion;
      QuestionLabel.Enabled = true;
      AnswerTextBox.Enabled = true;
      ResetPasswordButton.Enabled = true;
    }
}

public void ResetPassword_OnClick(object sender,
 EventArgs args)
{
  string newPassword = "";

  try
  {
    newPassword = Membership.Provider.ResetPassword(UsernameTextBox.Text, AnswerTextBox.Text);
  }
  catch (NotSupportedException e)
  {
    Msg.Text = "An error has occurred resetting your password: " + e.Message
 + "." +
               "Please check your values and try again.";
  }
  catch (MembershipPasswordException e)
  {
    Msg.Text = "Invalid password answer. Please reenter the answer and try
 again.";
    return;
  }
  catch (System.Configuration.Provider.ProviderException e)
  {
    Msg.Text = "The specified user name does not exist. Please check your value
 and try again.";
  }

  if (newPassword != "")
  {
    Msg.Text = "Password reset. Your new password is: "
 + Server.HtmlEncode(newPassword);
  }
  else
  {
    Msg.Text = "Password reset failed. Please reenter your values and try
 again.";
  }
}


</script>
<html>
<head>
<title>Sample: Reset Password</title>
</head>
<body>

<form runat="server">
  <h3>Reset Password</h3>

  <asp:Label id="Msg" runat="server" ForeColor="maroon"
 /><BR>

  Username: <asp:Textbox id="UsernameTextBox" Columns="30"
 runat="server" AutoPostBack="true" />
            <asp:RequiredFieldValidator id="UsernameRequiredValidator"
 runat="server"
                                        ControlToValidate="UsernameTextBox"
 ForeColor="red"
                                        Display="Static" ErrorMessage="Required"
 /><BR>

  Password Question: <B><asp:Label id="QuestionLabel" runat="server"
 /></B><BR>

  Answer: <asp:TextBox id="AnswerTextBox" Columns="60" runat="server"
 Enabled="false" />
          <asp:RequiredFieldValidator id="AnswerRequiredValidator" runat="server"
                                      ControlToValidate="AnswerTextBox"
 ForeColor="red"
                                      Display="Static" ErrorMessage="Required"
 Enabled="false" /><BR>

  <asp:Button id="ResetPasswordButton" Text="Reset Password"
 
              OnClick="ResetPassword_OnClick" runat="server"
 Enabled="false" />

</form>

</body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlMembershipProvider クラス
SqlMembershipProvider メンバ
System.Web.Security 名前空間
その他の技術情報
メンバシップ概要


このページでは「.NET Framework クラス ライブラリ リファレンス」からSqlMembershipProvider.ResetPassword メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSqlMembershipProvider.ResetPassword メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSqlMembershipProvider.ResetPassword メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SqlMembershipProvider.ResetPassword メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SqlMembershipProvider.ResetPassword メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS