LDAP绑定无效DN

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_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_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应该能够告诉您正在使用什么。