【问题标题】:What's my Active Directory Distinguished Name? What's my LDAP TREE?我的 Active Directory 专有名称是什么?我的 LDAP 树是什么?
【发布时间】:2017-05-23 10:59:14
【问题描述】:

我正在尝试进行从 php 连接到 Active Directory 服务器的身份验证调用,身份验证看起来不错,但我不知道将什么作为 ldap_search 参数。

ldap_connect 的转储:

resource(4) of type (ldap link)

ldap_bind 的转储:

bool(true)

ldap_search 的转储:

resource(5) of type (ldap result)

ldap_get_entries 转储:

array(1) {
  ["count"]=>
  int(0)
}

我尝试了无数次这种参数的排列:

$ldap_dn = "CN=Users,DC=ad,DC=domain";

$ldap_filter = "(objectClass=*)";

但我不确定在我的特定情况下究竟应该将什么作为 DC= 值或 O= 或 OU= 或 CN= 或其他任何内容,我们将不胜感激。

【问题讨论】:

  • 你现在如何调用ldap_search函数?
  • 我尝试猜测基本 DN 和过滤器,例如:ldap_search($ldap,'CN=Users,DC=ad,DC=domain,DC=com','(objectClass=*)') ;

标签: php active-directory ldap-query distinguishedname


【解决方案1】:

基本专有名称是您要对其执行操作的基本专有名称。一个示例基本 DN 为 DC=corp,DC=acme,DC=org

您可以从您的 Active Directory 服务器管理器中了解它。

我也推荐你使用adLDAP Package

它是一个 PHP 类,提供 LDAP 身份验证和与 Active Directory 的集成。

如果一个 dc 没有定义,那么这个包会尝试通过查询你的服务器来自动找到它。建议包含它以限制每个请求执行的查询。它有一些使用 PHP 的默认函数的自定义函数。因此,使用该软件包可能会使您的工作更轻松。

【讨论】:

  • 我觉得有趣的是,它会尝试通过查询您的服务器来自动找到它。 ' 我怎样才能让 ldap 自动搜索呢?也许我可以在不询问服务器管理员的情况下从查询中获取 DN?
  • 可能是 adLDAP 包特有的。默认的 PHP 函数可能不会这样做。您的公司名称和域名是什么?试试这样:DC=corp,DC=domain,DC=com
  • 看起来活动目录服务器管理器不知道这些信息,我正在尝试使用您链接的包获得一些结果
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 2016-07-17
  • 2013-04-19
  • 1970-01-01
  • 2014-12-16
相关资源
最近更新 更多