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
メソッドの呼び出しによってロック・ステータスがクリアされるまでログオンできなくなることがあります。パスワードに対する正しい回答が指定され、ユーザーが現在ロックされていない場合は、パスワードに対する無効な回答の試行を追跡する内部カウンタがゼロにリセットされます。