0

我正在从wikipediaphp 手册openldap pdf学习 ldap 。

但是,我不清楚用户身份验证方法和用户搜索方法。我试图从谷歌获取详细信息,但没有发现任何有用的信息。

我开始了解 php 中与 ldap_search() 函数一起使用的关键字“过滤器”,但不确定它的值应该是什么。

谁能解释一下用户身份验证在 ldap 中的工作原理以及它如何执行搜索功能?

4

1 回答 1

2

BIND(认证)操作

当 LDAP 客户端连接到 LDAP 服务器时,连接状态为unauthenticated。LDAP 客户端请求使用 BIND 请求更改连接的授权状态。当 LDAP 服务器接收到 BIND 请求时,连接立即转换为未验证状态。如果 BIND 请求成功,则服务器将连接的授权状态转换为与 BIND 请求中提供的可分辨名称相关联的状态,否则授权状态保持未经身份验证。

搜索操作

LDAP 搜索操作用于从 LDAP 服务器托管的数据库中检索条目以及可选的属性。要使用搜索操作,LDAP 客户端必须连接到服务器,可选择使用 BIND 操作对服务器进行身份验证,并传输至少包含以下参数的搜索请求:

  • 基础对象 - 上面不返回任何条目的对象
  • scope - 搜索的范围,可以是基树、一树或子树
  • filter - 将候选条目列表缩小到 LDAP 客户端所需的条目的过滤器
  • 与搜索结果一起返回的属性列表

条目及其属性受访问控制保护,因此最好(有时也需要)在发出搜索请求之前使用 BIND 操作进行身份验证。

搜索结果可以成功但不返回任何条目。

最好还为搜索操作提供时间限制和大小限制。LDAP 服务器将返回一个搜索结果,其中包含指示搜索请求成功或失败的结果代码,以及可能与搜索请求参数匹配的条目或引用的列表。

也可以看看

于 2013-07-03T13:43:16.050 回答