共用方式為


ActiveDirectoryMembershipProvider.ResetPassword(String, String) 方法

定義

將使用者的密碼重設為自動產生的新密碼。

public:
 override System::String ^ ResetPassword(System::String ^ username, System::String ^ passwordAnswer);
public override string ResetPassword (string username, string passwordAnswer);
override this.ResetPassword : string * string -> string
Public Overrides Function ResetPassword (username As String, passwordAnswer As String) As String

參數

username
String

要為其重設密碼的使用者。

passwordAnswer
String

指定之使用者的密碼回應。

傳回

指定之使用者的新密碼。

例外狀況

ResetPassword(String, String) 方法的呼叫,會在初始化 ActiveDirectoryMembershipProvider 執行個體之前進行。

passwordAnswernull

-或-

usernamenull

passwordAnswer 在修剪後是空的

-或-

passwordAnswer 超過 128 個字元。

-或-

username 是空的,或超過使用者名稱所允許的最大長度 (通常為 256 個字元)。

-或-

username 包含逗號。

-或-

使用者名稱對應至 userPrincipalName,但 username 參數包含反斜線。

使用者由於錯誤登入嘗試的次數太多或密碼回應重設嘗試的次數太多而遭到鎖定。

-或-

passwordAnswer 不符合儲存的密碼回應。

username 中指定的使用者在 Active Directory 資料存放區中不存在。

-或-

產生的密碼未通過自訂驗證處理常式。

-或-

產生的密碼不夠複雜,不符合 Active Directory 伺服器上設定的自訂密碼原則。

-或-

無法建立至 Active Directory 應用程式模式伺服器的安全連接,以設定新密碼。

發生未處理的例外狀況。

備註

類別會呼叫 方法, Membership 以將 Active Directory 資料存放區中使用者的密碼重設為新的隨機產生的值。 傳回新的密碼。

注意

方法所建立的 ResetPassword 隨機密碼不保證會在 屬性中 PasswordStrengthRegularExpression 傳遞正則表示式。 不過,隨機密碼將符合 和 MinRequiredNonAlphanumericCharacters 屬性所建立的MinRequiredPasswordLength準則。

如果為方法提供 ResetPassword 不正確的答案,追蹤無效密碼響應嘗試的內部計數器會遞增一個。 這可能會導致使用者無法登入,直到呼叫 UnlockUser 方法清除鎖定狀態為止。 如果提供正確的密碼答案且使用者目前未鎖定,則追蹤無效密碼嘗試的內部計數器會重設為零。 如需詳細資訊,請參閱 MaxInvalidPasswordAttemptsPasswordAttemptWindow 屬性。

前置和尾端空格會從所有參數值修剪。

您可以先從 Membership.Provider 屬性取得 實例的參考,ActiveDirectoryMembershipProvider直接呼叫 ResetPassword 方法。

提供者會使用從連接字串中指定的搜尋點開始的子樹搜尋。 ActiveDirectoryMembershipProvider如需連接字串的詳細資訊,請參閱 類別主題。

若要在 Active Directory 伺服器上設定密碼,屬性 connectionProtection 必須設定為 SignAndSeal

使用ADAM伺服器時, connectionProtection 屬性可以設定為 None,但只有在您明確設定ADAM伺服器以允許透過不安全的連線進行密碼變更時。

重要

除非用來連線到 Active Directory 伺服器的認證具有「網域系統管理員」許可權,否則您無法重設密碼 (不建議) 或「重設密碼」訪問許可權。

若要重設密碼,下列所有條件都必須為 true:

  • EnablePasswordReset 屬性必須設定為 true

  • Active Directory 架構必須修改為包含用來儲存密碼問題和答案的屬性,以及密碼答案變更的三個追蹤欄位。

  • attributeMapPasswordQuestionattributeMapPasswordAnswerattributeMapFailedPasswordAnswerCountattributeMapFailedPasswordAnswerTimeattributeMapFailedPasswordAnswerLockedTime 屬性必須在應用程式組態檔中設定。

  • RequiresQuestionAndAnswer 屬性必須設定為 true

  • 聯機到 Active Directory 資料存放區的安全性內容, (進程帳戶或明確認證) 必須具有足夠的許可權來變更密碼。 用來連線到 Active Directory 伺服器的認證具有「網域系統管理員」許可權, (不建議) 或「重設密碼」訪問許可權。

注意

在 Active Directory 伺服器上設定的安全策略可能會導致方法無法 ResetPassword 產生符合原則的密碼。 方法的預設實作 GeneratePassword 會產生滿足執行 Windows Server 2003 SP1 之域控制器上默認密碼原則的密碼。 如果因為 Active Directory 伺服器上的安全策略而無法重設密碼, ProviderException 則會擲回 。

適用於

另請參閱