我处于需要从 DirX 目录服务器 (LDAP) 查询修改的情况。在 OpenDS、Oracle DSEE 等更常见的产品中,通常有一种可以查询的变更日志,它为您提供在该服务器中执行的修改顺序。
不幸的是,基本上没有在线信息可以帮助我解决这个问题。如果 DirX 提供了类似的东西,任何对 DirX 有一些见解的人都可以给出一些提示吗?
我处于需要从 DirX 目录服务器 (LDAP) 查询修改的情况。在 OpenDS、Oracle DSEE 等更常见的产品中,通常有一种可以查询的变更日志,它为您提供在该服务器中执行的修改顺序。
不幸的是,基本上没有在线信息可以帮助我解决这个问题。如果 DirX 提供了类似的东西,任何对 DirX 有一些见解的人都可以给出一些提示吗?
DirX 不提供您正在寻找的 cn=changelog 节点/子树。
DirX 更改日志被写为 LDIF 更改文件。这些文件可以简单地转储到文件系统以供以后使用/处理,或者在编写它们时,您可以调用任何您喜欢的应用程序/脚本对 LDIF 数据执行某些操作。例如,您可以将 ldif 数据通过管道传输到 ldapmodify,并将 DirX 中所做的每个更改实时发送到另一个 ldap 服务器。您可以将数据通过管道传输到自定义应用程序或脚本,以针对某些类型的操作对其进行过滤,并将所需信息写入 sql db 或您想要的任何输出。这里真的没有任何限制。您只需要阅读 LDIF。
LDIF 数据可以在更改时写入(并通过管道传输到您的应用程序/脚本)以处理实时要求,或者在基于批处理的过程中按计划进行。
顺便说一句,我已经看到使用 LDIF 更改日志数据在 DirX 中创建 cn=changelog 节点(就像您在 Oracle DSEE 上找到的那样)的实现。即,由于LDIF 数据是在更改时写入的,数据通过管道传送到一个脚本,该脚本在cn=changelog 下创建您期望的条目。显然,这样做是为了为 Oracle DSEE 用户提供更熟悉的变更日志功能。
检查 DirX 是否支持持久搜索控件。如果是这样,这将提供更改通知,但不会提供像 UnboundID 更改日志或 DSEE 的追溯更改日志这样的历史记录。