PHP ldap_* API : Limiting to base scope?

标签 php ldap openldap ldap-query

所以The Direct Project再次罢工。我不是 LDAP 专家,但我正在尝试设置一个测试环境,因为该标准要求任何包都支持从 LDAP 以及 DNS CERT 获取证书,无论包实现哪种方法。

根据the documentation ,来自“3.3.3 LDAP 查询”部分的规定事件序列(根据相关性进行修剪):

* Discover the Base DNs
     Branches in LDAP must be defined by a “Base DN”. The list of Base DNs that are
     provided by a LDAP directory are found by doing a LDAP Query with a NULL (i.e.
     “”) Base DN, and ObjectClass=”DN”.
* Query across the Base DN for entries where "Mail" contains the endpoint address

我正在尝试使用 ldap_* 函数在 php 中实现此过程,但他们的方法似乎不起作用。显然,NULL 与空字符串不同(后者使得对 ldap_search 的任何调用返回“没有这样的对象”错误),并且“DN”不是 ObjectClass 属性的有效值。

那么,TL;DR,匿名远程用户是否有其他方法检索我丢失的(列表?)基本 DN?

更新:重新措辞标题以反射(reflect)问题的根本原因:当 ldap_* api 不允许您指定“基本”范围时,从 PHP 读取 rootDSE。

最佳答案

因此,再次阅读文档回答了我的问题。

显然,ldap_search()、ldap_list() 和 ldap_read() 之间的唯一区别是范围(分别为 LDAP_SCOPE_SUBTREE(子)、LDAP_SCOPE_ONELEVEL(一)和 LDAP_SCOPE_BASE(基))。因此,使用 ldap_read() 而不是其他方法将允许获取 rootDSE。

关于PHP ldap_* API : Limiting to base scope?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20353772/

相关文章:

java - 使用 Java 中的服务帐户进行 LDAP 身份验证

php - 想要从 textarea 获取 <br> 标签,尽管根本没有其他 HTML

php - mysql 'likes' 结构表

node.js - 使用 ldap.js 的 Active Directory 身份验证

c# - 如何从 LDAP 路径字符串中提取项目

linux - OpenLDAP:已删除的用户仍列在组中

Spring Security LDAP 和 MD5 哈希密码

测试与 Active Directory 服务器的 LDAP 连接

PHP Preg 表达式从字符串中删除 html 标签和内部内容?

javascript - PHP/JS 内容交换在所有内容之后回显 "1"?找不到来源