gpt4 book ai didi

php ldap 搜索 : no such object

转载 作者:可可西里 更新时间:2023-11-01 12:30:21 24 4
gpt4 key购买 nike

我是 LDAP 的新手,所以我会尝试正确解释
我有一个主机名 "energia.sise"

我需要获取位于 energia.sise/nej/users 中的所有用户

你能告诉我怎么做吗?

在这段代码中,我试图根据我的电子邮件获取我的记录,但它出错了
警告:ldap_search():搜索:没有这样的对象

     $base_dn ="OU=users, OU=nej, DC=energia, DC=sise";
$ds = ldap_connect("energia.sise") or die("Невозможно соединиться с $ldaphost");

ldap_bind($ds, "login@energia", "password");

$filter = '(&(objectClass=user)(CN=*)(mail=kosmos*))';

$sr = ldap_search($ds, $base_dn, $filter);
$info = ldap_get_entries($ds, $sr);

最佳答案

除了不必要的过滤器组件 CN=*,正如 Terry Gardner 已经指出的那样,您的过滤器似乎是正确的。因此,我怀疑您的代码还有其他可能的问题:

  1. 您使用的用户名格式不正确。尝试使用 login@energia.siseENERGIA\login 进行绑定(bind)。
  2. 容器 “OU=users, OU=nej, DC=energia, DC=sise” 不存在。尝试在整个域中进行搜索 - “DC=energia, DC=sise”,看看您是否得到任何结果。
  3. 尽可能在 Active Directory 中使用 ldap v3 协议(protocol)。这应该在你绑定(bind)之前设置:

    <strong>ldap_set_option( $ds, LDAP_OPT_PROTOCOL_VERSION, 3 );</strong>

  4. 我建议您也关闭 ldap v3 的引用处理,因为它有时会导致 AD 出现一些奇怪的行为:

    <strong>ldap_set_option( $ds, LDAP_OPT_REFERRALS, 0 );</strong>

当执行这样的搜索操作时,“没有这样的对象” 错误通常是指基本 DN 不存在这一事实。如果没有用户匹配您的过滤器,服务器将返回一个空结果集。

希望对您有所帮助!

关于php ldap 搜索 : no such object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15108969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com