2013-04-25 49 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连接以正确添加用户。