使用LDAP提供者設定和變更用戶密碼
若要設定用戶密碼,請使用 IADsUser.SetPassword 方法。
Active Directory 的LDAP提供者會使用三個進程的其中一個來設定密碼(iPlanet 之類的第三方LDAP目錄不會使用此密碼驗證程式)。 方法可能會根據網路組態而有所不同。 設定的密碼方法會依下列順序進行:
- 首先,LDAP 提供者會嘗試使用 Kerberos。
- 其次,如果 Kerberos 失敗,LDAP 提供者會嘗試建立安全 LDAP 連線。 若要讓安全 LDAP 順利運作,LDAP 伺服器必須已安裝適當的伺服器驗證憑證,且執行 ADSI 程式代碼的客戶端必須信任發行這些憑證的授權單位。 伺服器和客戶端必須至少支援 128 位加密。
- 第三,如果安全 LDAP 連線失敗,LDAP 提供者會嘗試 NetUserSetInfo API 呼叫。 在舊版中,ADSI 會在線程執行的安全性內容中呼叫 NetUserSetInfo,而不是呼叫 IADsOpenDSObject.OpenDSObject 或 ADsOpenObject 中指定的安全性內容。 在更新版本中,這會變更,讓 ADSI LDAP 提供者在呼叫 NetUserSetInfo 時模擬 OpenDSObject 呼叫中指定的使用者。
若要變更用戶密碼,請使用 IADsUser.ChangePassword 方法。 如同 SetPassword,此方法可以使用多個進程來變更密碼。 變更密碼方法的順序相同:
- 首先,LDAP 提供者會嘗試使用 Kerberos。
- 其次,LDAP 提供者會嘗試使用安全 LDAP。
- 第三,如果安全 LDAP 連線失敗,LDAP 提供者會嘗試 NetUserChangePassword API 呼叫。 如同 SetPassword,在舊版中,ADSI LDAP 提供者會模擬使用 IADsOpenDSObject.OpenDSObject 方法或 ADsOpenObject 函式傳遞的用戶認證。