Share via


ActiveDirectoryMembershipProvider.ChangePassword 方法

定義

變更指定之使用者的密碼。

public:
 override bool ChangePassword(System::String ^ username, System::String ^ oldPassword, System::String ^ newPassword);
public override bool ChangePassword (string username, string oldPassword, string newPassword);
override this.ChangePassword : string * string * string -> bool
Public Overrides Function ChangePassword (username As String, oldPassword As String, newPassword As String) As Boolean

參數

username
String

要更新密碼之使用者的名稱。

oldPassword
String

指定之使用者目前的密碼。

newPassword
String

指定之使用者的新密碼。

傳回

如果密碼已順利更新,則為 true;否則為 false

例外狀況

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

-或-

username 包含逗號。

-或-

使用者名稱會對應到 userPrincipalName 屬性,且 username 參數會包含反斜線。

-或-

oldPasswordnewPassword 是長度為零的字串。

-或-

oldPasswordnewPassword 超過密碼最大長度 (通常為 128 個字元)。

-或-

newPassword 小於 MinRequiredPasswordLength 屬性中指定的最小密碼大小。

-或-

newPassword 包含的非字母字元少於 MinRequiredNonAlphanumericCharacters 屬性中指定的數目。

-或-

newPassword 未通過 PasswordStrengthRegularExpression 屬性中定義之規則運算式 (Regular Expression) 的驗證。

usernamenull

-或-

oldPasswordnull

-或-

newPasswordnull

newPassword 不符合 Active Directory 伺服器定義的複雜度需求。

無法建立至 Active Directory 應用程式模式伺服器的安全連接。

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

發生未處理的例外狀況。

備註

方法 ChangePassword 可用來更新 Active Directory 資料存放區中的使用者密碼。 不論實例設定為使用的認證 ActiveDirectoryMembershipProvider 為何,提供者都會使用 usernameoldPassword 參數作為連線認證連接到 Active Directory 伺服器。

EnablePasswordReset如果 屬性為 true ,則如果使用者先前已鎖定帳戶,使用者就無法變更其密碼,因為使用者嘗試回答密碼問題太多。 使用者必須先等候 屬性中指定的 PasswordAnswerAttemptLockoutDuration 分鐘數,才能變更密碼。

如果密碼變更成功,且 EnablePasswordReset 屬性為 true ,則會重設使用者的不正確密碼回應追蹤計數器。

提供者會執行使用者名稱的子樹搜尋,從連接字串中指定的搜尋點開始,尋找要更新的使用者實例。 ActiveDirectoryMembershipProvider如需連接字串的詳細資訊,請參閱 類別主題。

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

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

適用於

另請參閱