LDAP绑定无效DN
我想使用Ldap_bind这是我的代码:LDAP绑定无效DN,ldap,Ldap,我想使用Ldap_bind这是我的代码: $ldap_host = '192.168.1.250'; //Host LDAP $ldap_user = "cn=admin,ou=people,dc=maxcrc,dc=com"; $ldap_pass = 'admin'; $ldap_conn = ldap_connect($ldap_host); ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3); if($ldap
$ldap_host = '192.168.1.250'; //Host LDAP
$ldap_user = "cn=admin,ou=people,dc=maxcrc,dc=com";
$ldap_pass = 'admin';
$ldap_conn = ldap_connect($ldap_host);
ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3);
if($ldap_conn)
{
if ($bind = ldap_bind($ldap_conn, $ldap_user, $ldap_pass)){
}
else
{
die('Koneksi ke LDAP Gagal');
}
}
当我执行代码时,一切都很好。但是当我用admin@maxcrc.com.阿佩尔说有错误
“无法绑定到服务器:无效的DN语法”
这有什么问题?我怎么能和域名绑定呢。
关于这是因为ldap_bind()需要一个DN—一个可分辨名称,类似于对象的完整路径。你不能用这个user@domain以这种方式绑定时的语法
有时您也可以使用RDN—相对DN—(简单地说就是“username”),但目录通常需要完整的DN。我刚刚读了一篇使用user@domain这篇文章我猜Active Directory也接受这种格式,但据我所知,这不是标准的LDAP行为。你在使用广告吗?如果我不使用广告?我在phpldapadmin中构建了什么样的数据?我真的把LDAP和AD搞混了。AD是微软对LDAP的实现,它增加了一些特性。LDAP只是一个与目录接口的协议。如果您不知道,phpldapadmin应该能够告诉您正在使用什么。