ActiveDirectoryMembershipProvider.ChangePassword 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
變更指定之使用者的密碼。
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
參數會包含反斜線。
-或-
oldPassword
或 newPassword
是長度為零的字串。
-或-
oldPassword
或 newPassword
超過密碼最大長度 (通常為 128 個字元)。
-或-
newPassword
小於 MinRequiredPasswordLength 屬性中指定的最小密碼大小。
-或-
newPassword
包含的非字母字元少於 MinRequiredNonAlphanumericCharacters 屬性中指定的數目。
-或-
newPassword
未通過 PasswordStrengthRegularExpression 屬性中定義之規則運算式 (Regular Expression) 的驗證。
newPassword
不符合 Active Directory 伺服器定義的複雜度需求。
無法建立至 Active Directory 應用程式模式伺服器的安全連接。
ChangePassword(String, String, String) 方法的呼叫,會在初始化 ActiveDirectoryMembershipProvider 執行個體之前進行。
發生未處理的例外狀況。
備註
方法 ChangePassword 可用來更新 Active Directory 資料存放區中的用戶密碼。 不論實例設定為使用的認證 ActiveDirectoryMembershipProvider 為何,提供者都會使用 username
和 oldPassword
參數作為連線認證來連線到 Active Directory 伺服器。
EnablePasswordReset如果 屬性為 true
,則如果使用者先前已鎖定帳戶,則使用者無法變更其密碼,因為使用者嘗試回答密碼問題太多。 用戶必須先等候 屬性中指定的 PasswordAnswerAttemptLockoutDuration 分鐘數,才能變更密碼。
如果密碼變更成功,且 EnablePasswordReset 屬性為 true
,則用戶的密碼回應追蹤計數器會重設。
提供者會執行子樹搜尋,從連接字串中指定的搜尋點開始,尋找要更新的用戶實例。 ActiveDirectoryMembershipProvider如需連接字串的詳細資訊,請參閱 類別主題。
若要變更 Active Directory 伺服器上的密碼, connectionProtection
必須將 屬性設定為 SignAndSeal。
使用ADAM伺服器時, connectionProtection
屬性可以設定為 None,但只有在您明確設定ADAM伺服器以允許透過不安全的連線進行密碼變更時。