我有windows server 2012,我想使用ldap和php插入新用户,连接到ldap服务器是可以的,但是我不能插入新用户,每次更改dn代码时都有多个错误,最后一个错误是警告: ldap_add():Add: C:\AppServ\www\auth\insert.php中的命名冲突,在第36行中,我的php文件的代码是
<?php
$ip = "10.10.10.35:389";
$ldap_url = "ldap://$ip";
$ldaps_url = "ldaps://$ip";
$ldap_domain = 'peace.world';
$ldap_dn = "dc=peace,dc=world";
$ldap_conn = ldap_connect($ldap_url)
or die("Could not connect to LDAP server ($ldap_url)");
echo $ldap_con;
if ($ldap_conn)
echo " connected";
$username = "captiveportal";
$password = "123";
$result = ldap_bind($ldap_conn, "$username@$ldap_domain", $password)
or die("<br>Error: Couldn't bind to server using supplied credentials!");
if ($result) {
ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
$dn = "cn=Users,DC=peace,DC=world";
echo $dn;
$info["cn"] = "muh Jones";
$info["sn"] = "muh";
$info["objectclass"] = "person";
try {
## Heading ##
$r = ldap_add($ldap_conn, $dn, $info);//36 line the error is here
--------------------------------------
}
catch (Exception $e) {
echo $e;
}
} else
echo "cannot connect to ldap";
我的活跃主管用户和计算机的形象是在这里输入图像描述
发布于 2017-05-09 04:01:58
你确实违反了命名规则。您正在尝试使用DN "cn=Users,dc=Peace,=dc=world“添加一个新条目,但是该DN已经被接受,因为它是包含所有用户的条目的DN。您很可能希望添加一个DN "cn=muh Jones,cn=Users,dc=Peace,dc=world“
此外,还可能缺少一些属性,比如f.e。samaccountname,但这很可能不是导致错误的原因。
此外,我建议在ldap_connect之后设置协议版本!
https://stackoverflow.com/questions/43847190
复制相似问题