2010-05-09 93 views
1

我試圖連接到我的AD服務器,並檢查用戶名和密碼,當我試圖做的是正確的,它總是告訴我:檢查用戶名和密碼爭奪LDAP PHP

無法綁定到服務器:無效的憑證

我的代碼是:

$ldapconn = ldap_connect($adserver,$adport); 
$ldapbind = @ldap_bind($ldapconn,"$username","$password"); 

當我試圖設置一個用戶名使用和不使用域名在這個變化: [email protected] 域\用戶 用戶

當我試圖匿名綁定,它確定。 你有什麼建議嗎?

回答

0

檢查用戶名。它應該是一個格式正確的RDN/DN。特殊字符必須被轉義。

如果您發佈的值爲$username,這將有所幫助。

+0

你能舉個例子嗎? 我不明白你的意思 謝謝。 – Elad 2010-05-09 13:32:24

0

如果您使用Active Directory,則必須設置該選項:

ldap_set_option($ ldapconn,LDAP_OPT_PROTOCOL_VERSION,3);

ldap_set_option($ ldapconn,LDAP_OPT_REFERRALS,0);

並使用FULL DN(例如uid = UserName,cn = Peoples,dc = example,dc = com)或短版本([email protected])AD支持這兩種類型。