LDAP中用户身份验证的工作功能

时间:2013-07-03 13:30:45

标签: ldap

我正在研究来自wikipediaphp manualopenldap pdf的ldap。

但是,用户身份验证方法和用户搜索方法对我来说并不清楚。我试图从谷歌获取细节,但没有发现任何有用的东西。

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

任何人都可以解释用户身份验证在ldap中的工作原理以及它如何执行搜索功能吗?

1 个答案:

答案 0 :(得分:2)

BIND(验证)操作

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

搜索操作

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

  • 基础对象 - 上面没有返回任何条目的对象
  • 范围 - 搜索的范围,基础,一个或子树
  • filter - 一个过滤器,它将候选条目列表缩小为仅仅是LDAP客户端所需的条目
  • 要与搜索结果一起返回的属性列表

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

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

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

另见