Как проверить, существует ли объект в каталоге (LDAP или AD), используя jndi? - PullRequest
0 голосов
/ 09 декабря 2011

В настоящее время мы делаем что-то вроде:

Attributes attributes = directoryConnection.find(filter, false);
if (attributes == null) {
    // then the object does not exist
}

я думаю, что это неэффективно, нам не нужно извлекать целые атрибуты (они могут составлять несколько тысяч в случае группового объекта ... я просто хочу знать, существует ли объект или нет)

есть ли лучший способ проверить, существует ли объект? я могу использовать cn объекта или весь dn этого

1 Ответ

1 голос
/ 09 декабря 2011

Чтобы определить, существует ли «объект», вы должны выполнить поиск объекта. Поисковый запрос состоит как минимум из:

  • базовый объект
  • Объем
  • фильтр
  • запрошенные атрибуты

Плюс некоторые другие, необязательные параметры, такие как ограничение размера и ограничения по времени и т. Д. Найдите объект, атрибут запроса 1.1, и в ответе на поиск будет указано, сколько записей возвращено. Если количество возвращаемых записей равно нулю, то объект не существует. Для получения дополнительной информации см. «LDAP: ldapsearch» и «LDAP: Практика программирования» .

...