4

我正在使用 PHP 创建一个 LDAP 目录搜索,并且我们使用 Novell 作为我们的 LDAP 服务器。我能够成功搜索并返回结果;这是我正在运行的当前过滤器,(&(FERPA=N)(|(uid=*searchphrase*)(sn=*searchphrase*)(fullName=*searchphrase*)(telephoneNumber=*searchphrase*))).

我希望能够按姓氏或 LDAP 变量排序sn。我可以通过 PHP 对其进行排序,但我希望这是最后的手段。有没有办法根据列对结果进行排序。例如,在 SQL 中,您可以基于这样的列进行排序SELECT * FROM TABLE WHERE COL='criteria' ORDER BY COL;,LDAP 查询可以做类似的事情吗?

4

2 回答 2

3

需要以可重复方式对搜索请求的结果进行排序的 LDAP 客户端应用程序应使用服务器端排序扩展。在大多数情况下,使用服务器端排序扩展需要应用程序编码人员通知目录管理员,以便可以设置正确的索引。

于 2012-04-10T09:12:03.887 回答
0

据我所知,无法使用 LDAP 过滤器对结果进行排序。过滤器所做的只是限制返回的条目。

使用 php,您将运行搜索,然后使用http://us3.php.net/manual/en/function.ldap-sort.php对结果进行排序

或者,您可以将所有条目读入一个数组,然后在它们上运行 php 的其他排序函数之一。http://us1.php.net/manual/en/array.sorting.php

于 2012-11-02T22:43:37.933 回答