Я выполняю поиск на своем сервере LDAP, используя adLDAP и CodeIgniter.То, что я хочу искать, - это в основном учетные записи, которые были деактивированы с сервера LDAP.В моем PHP-коде у меня есть следующее для вызова библиотеки adLDAP:
<code> $searchCriteria = array(
"givenname" => $values['givenName'],
"sn" => $values['sn'],
"title" => $values['title'],
"mail" => $values['mail'],
"telephonenumber" => $values['telephonenumber'],
);
// echo "<pre>"; print_r($searchCriteria); echo "
"; // создаем поисковый фильтр $ noOfFieldsSet = 0; $ searchFilterA = '(objectClass = user) (samaccounttype ='. ADLDAP_NORMAL_ACCOUNT. ') (objectCategory = person) '; $ searchFilterB =' '; foreach ($ searchCriteria AS $ key => $ value) {if ($ value) {$ searchFilterB. = "(". $ key. "=". $ wildcard. $ value. "*)"; ++ $ noOfFieldsSet;}} // Мы выполняем логическое И или ИЛИ (в зависимости от $ logic) по всем // указанным критериям поиска, чтобы создать окончательный поисковый фильтр: if ($ logic == "&") {$ searchFilter = "(". $ logic. "". $ searchFilterA. $ searchFilterB. ")";} else // logic = OR {$ searchFilter = "(&". $ searchFilterA. "(". $ logic." ". $ searchFilterB.")) ";} // echo $ searchFilter."
"; // определить, какие атрибуты мы хотим получить $ attribs = array (" displayname "," samaccountname ", "mail", "telephonenumber", "title", "Physicaldeliveryofficename"); $ resultEntries = $ this-> ad_ldap-> search_directory ($ searchFilter, $ attribs);
и затем вв этой последней строке вызывается функция ad_ldap-> search directory из библиотеки adLDAP, эта функция:
<code> function search_directory($filter, $fields, $sorted = true)
{
if ( ! $this->_bind)
return (false);
$sr = ldap_search($this->_conn, $this->_base_dn, $filter, $fields);
$entries = ldap_get_entries($this->_conn, $sr);
// echo "<pre>"; print_r($entries); echo "
";вернуть $ записей;}
Вот так выглядит моя древовидная структура LDAP:
Я хотел бы знать, как можно исключитьэти каталоги (отмеченные черной стрелкой) и другая неактивная папка внутри другой папки «пользователи» под этой папкой.
В этом я не уверен, как исключить каталоги или указать каталоги, которые я бы хотел исключить.
Буду признателен за любую помощь.