簡體   English   中英

LDAP更改密碼PHP

[英]LDAP CHANGE PASSWORD PHP

我想使用PHP LDAP在Windows Active Directory上更改用戶密碼[unicodePwd]。

我正在通過PHP LDAP使用Windows Active Directory。

我對此沒有任何問題。

我收集數據沒有任何問題。

我使用ldap_mod_replace或ldap_modify更改屬性沒有任何問題

除了“ unicodePwd”。

*請注意,這有效

$user['telephonenumber'] = '1234567890';

*請注意,這不起作用

$user['unicodePwd'] = mb_convert_encoding('my_new_password', "UTF-16LE");

//代碼

$result = ldap_modify($ldap, $dn, $user);
return ldap_error($ldap);

//代碼

//更改unicodePwd時出錯

ldap_modify(): Modify: Server is unwilling to perform

//電話號碼沒有錯誤

  • 2018/06/11問題,

我無法將我的服務器設置為在ssl上具有ldap。 已經嘗試安裝AD CS,到目前為止沒有任何效果。 還在配置我的服務器有關安裝用於SSL over LDAP的CA(證書頒發機構)的任何想法嗎?

  • 2018/06/20問題,新問題

已經設置了LDAP OVER SSL,我也可以使用ldap

cmd-> ldp; 端口389,帶有ssl的636很好。

但是當我使用端口636或ldaps:// servername在我的php中運行它時,這是錯誤,

ldap_bind(): Unable to bind to server: Can't contact LDAP server

您需要建立安全連接才能修改密碼 (以及其他可能與安全相關的選項)。

在調用ldap_bind()之前添加以下內容:

ldap_start_tls($ldap);

即使您不嘗試更改密碼,這也是一個好主意,否則您的綁定操作是明文並且可以被嗅探。


如果看到此錯誤:

警告:ldap_start_tls():無法啟動TLS:連接錯誤...

您可以調用ldap_connect 之前添加以下行來解決此問題:

putenv('LDAPTLS_REQCERT=never');

警告 :這將禁用檢查LDAP服務器證書的有效性! 理想情況下,您應該將服務器證書(或其簽名CA)添加到受信任的存儲中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM