在LDAP中使用UnboundId api查看已修改的条目

Sax*_*har 4 ldap unboundid-ldap-sdk

这是要求我看到LDAP中已修改的条目已在LDAP服务器端修改过吗?Unboundid api中是否有任何api或代码,以便我可以在LDAP中看到修改后的条目?

小智 8

虽然你的问题不是很清楚,但我认为你是否有办法检测目录服务器中的数据更改,无论是在发生时还是在事后发生的某个时间.虽然最适合您的解决方案取决于您正在使用的服务器提供的功能,服务器中的更改量以及您的特定要求,但仍有多种方法可以实现此目的.

  • 如果您使用的服务器支持内容同步控件(com.unboundid.ldap.sdk.controls.ContentSyncRequestControl),那么这可能是一种非常有用的方法,可以在发生更改时获取有关条目的信息,以及可能已经处理的更改您的搜索未激活.

  • 如果您希望实时通知更新的条目,可以使用持久性搜索(com.unboundid.ldap.sdk.controls.PersistentSearchRequestControl).如果您的服务器支持此功能,那么您可以使用此服务器让服务器通过在处理更改时添加,删除,修改和/或修改DN操作来发送您的客户端条目.但是,对于您可能进行大量更改的情况,或者用于检测在持久性搜索未处于活动状态时可能已处理的更改,此选项并不是那么好.

  • 如果您使用的是Active Directory,则DirSync控件(com.unboundid.ldap.sdk.experimental.ActiveDirectoryDirSyncControl)可能对检测更改很有用.

  • 如果您使用的服务器提供LDAP更改日志,则可以定期轮询它以检索新的更改日志条目(com.unboundid.ldap.sdk.ChangeLogEntry),这些条目提供有关服务器中处理的更改的信息.您可以将此与更改日志上的持久搜索结合使用,以在处理更改时检索更改通知,同时还能够在搜索中断时从中断处获取.

  • 如果所有其他方法都失败,您可以使用针对createTimestamp和/或modifyTimestamp属性的范围搜索来标识在指定时间之后创建和/或更新的条目.

您可能希望与目录服务器供应商核实,以确定它们是否提供了用于检测更改的任何备用机制,或者是否有关于哪种方法最适合您的需求的任何建议.