2013-04-25 48 views
0

我想將用戶添加到使用LDAP的活躍目錄,但我不斷收到以下錯誤:添加已經存在的,PHP LDAP添加用戶

Warning: ldap_add(): Add: Server is unwilling to perform in C:\Program Files (x86)\EasyPHP-12.1\www\GuestRegister\test3.php on line 41 

誰能幫助?

謝謝:)

<?php 
$ldaprdn = "CN=HackTeam,CN=Users,DC=cisco,DC=internal";  
$ldappass = 'HackMe007'; 

// connect to ldap server 
$ldapconn = ldap_connect("10.33.85.172"); 


if ($ldapconn) { 

// binding to ldap server 
$ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass); 

} else { 
echo "Unable to connect to LDAP server"; 
} 

$dn_user="CN=Dan Potts,CN=Users,DC=cisco,DC=internal"; 

$ldaprecord['cn'] = "Dan Potts"; 

$ldaprecord['sn'] = "Potts"; 
$ldaprecord['sAMAccountName'] = "danpotts"; 

$ldaprecord['name'] = "Dan Potts"; 
$ldaprecord['UserAccountControl'] = "66048"; 
$ldaprecord['objectclass'][0] = 'top'; 
$ldaprecord['objectclass'][1] = 'person'; 
$ldaprecord['objectclass'][2] = 'organizationalPerson'; 
$ldaprecord['objectclass'][2] = 'user'; 
$ldaprecord['mail'] = "[email protected]"; 

ldap_add($ldapconn, $dn_user, $ldaprecord); 
ldap_unbind($ldapconn); 



?> 
+2

這個錯誤聽起來很像我自己的解釋 – Madbreaks 2013-04-25 23:43:57

回答

0

我看到兩個潛在的問題。一個是你設置['objectClass'] ['2']兩次。

另一個是UserAccountControl屬性。您需要NORMAL_ACCOUNT和DONT_EXPIRE_PASSWD,但密碼尚未設置。您可能需要創建指定UserAccountControl屬性的帳戶,設置密碼,然後設置UserAccountControl屬性。

1

(我知道這是舊的,但)

錯誤意味着你沒有正確連接到基於SSL的LDAP服務器。根據我的經驗,「服務器不願意執行」意味着您需要建立到您的LDAP服務器/ AD服務器的SSL連接以正確添加用戶。