PHP получает LDAP entryUUID через adodb

Мне нужно получить entryUUID для записи в базе данных LDAP через adodb...

Кто-то знает, как я мог это сделать?

$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

Я не нашел информации о получении скрытых атрибутов...

Кто-нибудь может мне помочь?

заранее спасибо

Дэвид

2 ответа

Решение

Наконец я нашел решение:

{

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

}

Может быть, это кому-то пригодится...

Дэвид

Операционные атрибуты должны запрашиваться по имени, а сервер каталогов должен разрешать их поиск по состоянию авторизации, связанному с клиентским подключением. entryuuid определяется в RFC4530.

Другие вопросы по тегам