Общий способ изменения (добавление, удаление, изменение) записей в LDAP.

Мне нужен общий способ получить все измененные (добавить, удалить, изменить) записи на любых серверах LDAP, т.е.

  • Активный каталог
  • OpenLdap
  • Каталог Apache
  • и многие другие

как указано в этом вопросе. несколько способов добиться этого. мы можем использовать один из следующих элементов управления

1. com.unboundid.ldap.sdk.controls.ContentSyncRequestControl
2. com.unboundid.ldap.sdk.controls.PersistentSearchRequestControl
3. com.unboundid.ldap.sdk.experimental.ActiveDirectoryDirSyncControl
4. com.unboundid.ldap.sdk.ChangeLogEntry

но проблема в том, что некоторые серверы LDAP поддерживают ContentSyncRequestControl управление, некоторые поддерживают ActiveDirectoryDirSyncControl, а некоторые серверы не поддерживают никакого управления. теперь мне нужно найти универсальный способ найти измененные записи в любом LDAP.

По последнему пункту вопроса

Если ничего не помогает, вы можете использовать поиск по диапазону, нацеленный на атрибуты createTimestamp и/или ModifyTimestamp, чтобы идентифицировать записи, созданные и/или обновленные после указанного времени.

Я могу получить добавленные и измененные записи с помощью атрибутов createTimestamp и modifyTimestamp, но я не могу получить удаленных пользователей, используя этот подход.

Также у меня нет возможности искать записи, используя класс com.unboundid.ldap.sdk.ChangeLogEntry

Может ли кто-нибудь помочь мне в этом?


person Ashish Jagtap    schedule 19.03.2014    source источник
comment
Я надеюсь, что кто-то сможет ответить на этот вопрос, но я действительно не думаю, что существует общий метод, который будет работать во всех реализациях LDAP.   -  person jwilleke    schedule 20.03.2014
comment
@jeemster спасибо за ответ, можете ли вы сказать, как я могу искать измененные записи через com.unboundid.ldap.sdk.controls.ContentSyncRequestControl или com.unboundid.ldap.sdk.controls.PersistentSearchRequestControl   -  person Ashish Jagtap    schedule 20.03.2014