我正在研究来自wikipedia,php manual和openldap pdf的ldap。
但是,用户身份验证方法和用户搜索方法对我来说并不清楚。我试图从谷歌获取细节,但没有发现任何有用的东西。
我开始了解与php中的ldap_search()函数一起使用的关键字'filter',但不确定它应该是什么值。
任何人都可以解释用户身份验证在ldap中的工作原理以及它如何执行搜索功能吗?
答案 0 :(得分:2)
当LDAP客户端连接到LDAP服务器时,连接状态为 unauthenticated 。 LDAP客户端请求使用BIND请求更改连接的授权状态。当LDAP服务器收到BIND请求时,连接立即转换为未经身份验证的状态。如果BIND请求成功,则服务器将连接的授权状态转换为与BIND请求中显示的可分辨名称关联的状态,否则授权状态将保持未经身份验证。
LDAP搜索操作用于从LDAP服务器托管的数据库中检索条目,还可以选择其属性。要使用搜索操作,LDAP客户端必须连接到服务器,可选择使用BIND操作对服务器进行身份验证,并发送至少包含以下参数的搜索请求:
条目及其属性受访问控制保护,因此在发出搜索请求之前,最好(有时需要)使用BIND操作进行身份验证。
搜索结果可以成功,但不会返回任何条目。
最佳做法是为搜索操作提供时间限制和大小限制。 LDAP服务器将返回搜索结果,其中包含指示搜索请求成功或失败的结果代码,以及可能与搜索请求参数匹配的条目或引用列表。