我一直在試圖創建Windows用戶帳戶出PHP本身沒有問題。我唯一不能做的就是將windows用戶密碼設置爲公司標準密碼。 我可以創建,更改和刪除用戶帳戶,除了密碼外沒有任何問題。每次我創建一個用戶並嘗試使用憑證登錄自己時,我所得到的只是一個「用戶名或密碼錯誤」。我檢查了用戶名。爲新的LDAP用戶設置密碼
我試過到目前爲止:有明確的密碼($ldaprecord['userPassword'] = "standard";
)
$ldaprecord['userPassword'] = '{MD5}' . base64_encode(pack('H*',md5($newuser_plaintext_password)));
就像在給定的例子
看來我可以更換$ldaprecord['userPassword']
但是當我嘗試要更改ldaprecord['unicodePwd']
服務器不願意做我的請求。 哪個密碼正確?
我沒有通過SSL連接到AD。這是我的錯誤嗎?如果是這樣,爲什麼我可以刪除用戶但不設置他們的密碼?
在此先感謝。
編輯:
詢問系統管理員建立通過SSL連接,但他說,輕型目錄服務甚至沒有安裝在DC。在他看來,我直接在AD上工作。對此有何想法?
使用IIS在Windows 2012 R2上工作。
這是Active Directory,而不是OpenLDAP,對嗎?無論如何,我看到你參考了創建Windows用戶帳戶如果是這樣,是的,需要通過SSL/TLS進行加密連接才能更改密碼(除非您已經修改了AD,不需要它,這不會被推薦)。另外,通常(假設這是AD ...),您將使用「unicodePwd」屬性而不是「userPassword」。沒有一些修改,'userPassword'屬性在默認情況下不起作用。 – ChadSikorra
是的,它是一個活動目錄。我將嘗試通過SSL建立LDAP連接。困擾我的是,我無法更改或設置沒有SSL的密碼,但我可以刪除用戶。 – MrSmith
是的,任何時候使用密碼屬性時,都需要TLS或SSL。如果你使用AD,很可能你應該做一個'ldap_start_tls($ connection)'加密。你可以在'ldap_connect()'調用後直接使用該函數,否則它不能工作。 – ChadSikorra