ActiveDirectoryMembershipProvider.ChangePasswordQuestionAndAnswer メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Active Directory ストアでユーザーのパスワードの質問と解答を更新します。
public:
override bool ChangePasswordQuestionAndAnswer(System::String ^ username, System::String ^ password, System::String ^ newPasswordQuestion, System::String ^ newPasswordAnswer);
public override bool ChangePasswordQuestionAndAnswer (string username, string password, string newPasswordQuestion, string newPasswordAnswer);
override this.ChangePasswordQuestionAndAnswer : string * string * string * string -> bool
Public Overrides Function ChangePasswordQuestionAndAnswer (username As String, password As String, newPasswordQuestion As String, newPasswordAnswer As String) As Boolean
パラメーター
- username
- String
パスワードの質問と回答を変更するユーザー。
- password
- String
指定したユーザーのパスワード。
- newPasswordQuestion
- String
指定したユーザーの新しいパスワードの質問。
- newPasswordAnswer
- String
指定したユーザーの新しいパスワードの回答。
戻り値
更新が正常に実行された場合は true
、それ以外の場合は false
。 パスワードが無効であったり、ユーザーがロックアウトされていたり、ユーザーが Active Directory データ ストアに存在していない場合にも false
が返されます。
例外
管理者がパスワードの質問と解答のフィールドを Active Directory スキーマの属性にマップしていません。
username
が空であるか、ユーザー名の最大長 (通常は 256 文字) を超えています。
- または -
username
はコンマを含んでいます。
- または -
ユーザー名は userPrincipalName
属性にマップされており、username
パラメーターに円記号が含まれています。
- または -
password
は長さゼロの文字列です。
- または -
password
がパスワードの最大長 (通常は 128 文字) を超えています。
- または -
newPasswordQuestion
が空で、RequiresQuestionAndAnswer プロパティ値が true
です。
- または -
newPasswordQuestion
が 256 文字を超えています。
- または -
解答を暗号化した後の newPasswordAnswer
が 128 文字を超えています。
username
が null
です。
または
password
は null
です。
- または -
newPasswordQuestion
が null
で、RequiresQuestionAndAnswer プロパティが true
です。
- または -
newPasswordAnswer
が null
で、RequiresQuestionAndAnswer プロパティが true
です。
machineKey 要素 (ASP.NET 設定スキーマ) 構成要素は、自動生成されたマシン暗号化キーを示します。
ActiveDirectoryMembershipProvider を使用してパスワードの解答を格納するには、machineKey 要素 (ASP.NET 設定スキーマ) 要素の decryptionKey
属性を明示的に設定する必要があります。
ChangePasswordQuestionAndAnswer(String, String, String, String) インスタンスが初期化される前に ActiveDirectoryMembershipProvider メソッドが呼び出されました。
注釈
メソッドは、 クラスによって呼び出され ActiveDirectoryMembershipUser 、Active Directory メンバーシップ ストア内のユーザーのパスワードの質問と回答を更新します。
パスワードの質問と回答を要求すると、ユーザーのパスワードをリセットするときのセキュリティ層が強化されます。 ユーザー名を作成するときに、ユーザーは後で忘れたパスワードをリセットするために使用できる質問と回答を入力できます。 メソッドは ChangePasswordQuestionAndAnswer 、メンバーシップ ユーザーのパスワードの質問と回答を新しい値に更新します。
メソッドを使用 ChangePasswordQuestionAndAnswer するには、アプリケーションの構成ファイルで次の追加属性を設定する必要があります。
requiresQuestionAndAnswer
は、true
である必要があります。attributeMapPasswordQuestion
とattributeMapPasswordAnswer
は、Active Directory スキーマの属性にマップする必要があります。
上記の条件が満たされない場合は、初期化時に が ProviderException スローされます。
インスタンスはActiveDirectoryMembershipProvider、 パラメーターと password
パラメーターに指定されたusername
資格情報を使用して Active Directory データ ストアに接続し、ユーザー名とパスワードの組み合わせを検証します。 質問と回答の実際の更新は、プロバイダーの構成された接続資格情報を使用して実行されます。
メソッドに正しくないパスワードが指定されている ChangePasswordQuestionAndAnswer 場合、ディレクトリ サーバーは無効なパスワード試行を追跡するカウンターをインクリメントします。 これにより、ロック状態が メソッドの呼び出し UnlockUser によってクリアされるか、ディレクトリで指定されたロックされた期間が経過するまで、ユーザーがロックされ、ログオンできなくなる可能性があります。
質問と回答の更新が成功し、 プロパティが EnablePasswordReset の場合、 true
ユーザーの不適切なパスワード応答追跡カウンターがリセットされます。
パスワード応答は、Active Directory データ ストアに EncryptPassword 格納される前に、 メソッドを使用して暗号化されます。 暗号化キーとアルゴリズムは、 machineKey 要素 (ASP.NET 設定スキーマ) 構成要素によって指定されます。 machineKey 要素 (ASP.NET Settings Schema) 要素の decryption 属性を指定する必要があります。ActiveDirectoryMembershipProviderクラスは自動生成された暗号化キーをサポートしていません。
パスワードの質問の最大長は 256 文字です。 パスワード応答の最大長は 128 文字です。
先頭と末尾のスペースは、 を除く password
すべてのパラメーター値からトリミングされます。
プロバイダーは、接続文字列で指定された検索ポイントからユーザー名のサブツリー検索を実行して、更新するユーザー インスタンスを検索します。 接続文字列の ActiveDirectoryMembershipProvider 詳細については、クラスのトピックを参照してください。
適用対象
こちらもご覧ください
.NET