1

我需要通过 adodb 获取 LDAP 数据库中记录的 entryUUID ...

有人知道我该怎么做吗?

$host = 'ldap.domain.com';
$ldapbase = 'dc=domain,dc=com';
$user_name='cn=admin,dc=domain,dc=com';
$password='password';

/******************************************************/

$conn=NewADOConnection( 'ldap' );
$conn->Connect( $host, $user_name, $password, $ldapbase );


function find_user($usr,$conn){
 $filter="(|(uid=$usr*))";
 $conn->SetFetchMode(ADODB_FETCH_ASSOC);
 $rs = $conn->Execute( $filter );
 if($rs->RecordCount()>=1) {
     while ($row=$rs->FetchRow()) {
        // Blah blah blah 
         $sn=$row['sn'];
         $givenName=$row['givenName'];
         $cn=$row['cn'];
         $uid=$row['uid'];
         $mail=$row['mail'];

         // $entryUUID=$row['entryUUID']; // <-- HOW CAN I GET THIS ??
        print "\n$cn \n  $uid \n $entryUUID \n\n";
    }   
 }
 $conn->Close();

}

换句话说,我希望得到与此查询相同的结果:

ldapsearch   -D "cn=admin,dc=example,dc=com" -w pwd  '(uid=$userid)' entryuuid=* entryUUID

我没有找到有关获取隐藏属性的信息...

有人能帮我吗 ?

提前致谢

大卫

4

2 回答 2

2

最后我找到了一个解决方案:

{

$filter="(|(uid=$usr*))";
$sr=ldap_search($ds, $dn, $filter, array('*','entryUUID'));
$entries = ldap_get_entries($ds, $sr);

}

也许它对某人有用......

大卫

于 2013-06-04T08:03:17.323 回答
0

操作属性必须按名称请求,并且目录服务器必须允许通过与客户端连接关联的授权状态检索它们。entryuuid在 RFC4530 中定义。

于 2013-05-30T17:10:34.980 回答