2.1.5.10 GetPassword

このメソッドは、指定されたユーザー名のパスワードをデータベースから戻します。

宣言

// C#
public override string GetPassword(string userName, string passwordAnswer);

パラメータ

  • userName

    パスワードを取得する対象のユーザー。

  • passwordAnswer

    ユーザーのパスワードに対する回答。

戻り値

指定したユーザー名のパスワード文字列。

例外

ArgumentNullException - userNameパラメータがnullであるか、RequiresQuestionAndAnswerプロパティがtrueのときにpasswordAnswerパラメータがnullです。

System.Web.Security.MembershipPasswordException - passwordAnswerパラメータが無効であるか、userNameで識別されるユーザーがロックされています。

System.Configuration.Provider.ProviderException - userNameパラメータがメンバーシップ・データベースに見つからないか、メンバーシップ・データベースからパスワードを取得するときにエラーが発生しました。

NotSupportedException - EnablePasswordRetrievalプロパティがfalseに設定されています。

ArgumentException - 次のいずれかの条件が存在します。

  • userNameパラメータが空の文字列であるか、カンマが含まれているか、256文字を超えています。

  • passwordAnswerパラメータが空の文字列であり、RequiresQuestionAndAnswerプロパティがtrueです。または、passwordAnswerパラメータが128文字(エンコードされたバージョンを含む)を超えています。

備考

先頭および末尾の空白はuserNameパラメータ値とpasswordAnswerパラメータ値から削除されます。

GetPasswordメソッドは、EnablePasswordRetrievalプロパティがtrueに設定されていることを必要とします。ただし、PasswordFormatプロパティがHashedに設定されている場合は、プロバイダの初期化時にProviderExceptionがスローされます。つまり、GetPasswordメソッドは、Hashedパスワードを取得できません。デフォルトでは、EnablePasswordRetrievalプロパティはfalseに設定されます。

RequiresQuestionAndAnswerプロパティがtrueに設定され、GetPasswordメソッドに対してパスワードに対する不正な回答が指定された場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタが1つ増やされます。これにより、ユーザーがロックされ、UnlockUserメソッドの呼び出しによってロック・ステータスがクリアされるまでログオンできなくなることがあります。パスワードに対する正しい回答が指定され、ユーザーが現在ロックされていない場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタがゼロにリセットされます。