1

我有一个查询 LDAP 服务器的 php 应用程序。使用 LDAP Browser 桌面应用程序,我可以看到以下用户:cn=joebloe,ou=users,ou=people,o=cuid

具有以下属性:“departmentNumber”、“loginDisabled”等。

在我的 php 应用程序中,我有以下代码:

$sr = ldap_search($ds, "o=$o", "cn=joebloe,ou=users,ou=people,o=cuid"); 

但是那个代码我错了,只是返回一个资源链接;如果我能得到“loginDisabled”属性的值就好了。

我怎样才能做到这一点?谢谢!

4

2 回答 2

3

看看http://es2.php.net/manual/en/function.ldap-search.phphttp://es2.php.net/manual/es/function.ldap-get-entries.php

<?php
// $ds is a valid link identifier for a directory server

// $person is all or part of a person's name, eg "Jo"

$dn = "o=My Company, c=US";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("ou", "sn", "givenname", "mail");

$sr=ldap_search($ds, $dn, $filter, $justthese);

$info = ldap_get_entries($ds, $sr);

echo $info["count"]." entries returned\n";
?>

从 PHP 手册复制的片段

于 2013-02-26T19:08:01.137 回答
2

如果您想获得有关 的信息joebloe,那么您应该搜索他。我认为您的基本 DN 字符串有点过于具体。

试试这个:

$search = ldap_search($ds, "ou=users,ou=people,o=cuid", "cn=joeblow"); 
$results = ldap_get_entries($ds, $search);
var_dump($results);

// Print Department Number
echo "Department Number = ".$results[0]['departmentNumber'][0];
于 2013-02-26T19:13:00.013 回答