如何在OpenDJ服务器中获取旧值?

时间:2016-12-27 13:21:06

标签: ldap opendj

我已经在独立的OpenDJ服务器上启用了更改日志,并且已经" cn = changelog"作为节点之一出现。我的问题是,在从" cn = changelog"中获取数据后,属性"更改"仅包含已更改属性的新值,而不包含旧值。例如。当属性" cn"改变了彼得"保罗","改变"只有"保罗"。是否有可能获得属性的旧值?如果是的话,你能告诉我在哪里可以搜索它,或者我应该如何配置OpenDJ来获取它?

2 个答案:

答案 0 :(得分:0)

cn=changelog返回已执行的操作:

  • 添加操作包含要添加的整个条目
  • 删除操作仅包含已删除条目的dn
  • 修改dn包含旧的dn和新的rdn,
  • 修改操作可以只包含新值(在REPLACE修改类型的情况下),删除的值(在DELETE修改类型的情况下),新值(在ADD修改类型的情况下),或者没有值全部(如果是INCREMENT修改类型)。请注意,可以在同一修改操作中组合各种修改类型,因此您可能会看到包含旧值的DELETE + ADD,但这不是必需的。

答案 1 :(得分:0)

好的,在挖掘documentation (Procedure 8.15)后,我发现有可能设置'ecl-include'选项,这会导致changelog条目包含新属性--'includedAttributes'。此属性包括我们在“ecl-include”选项中定义的那些属性的旧值(在条目修改之前)。但缺点是,'includedAttributes'包含所有已定义的属性 - 无论这些属性是否在条目修改期间发生了变化。所以,对于我的问题,它应该像这样配置:

dsconfig set-external-changelog-domain-prop -h host -p port -D cn="Directory Manager" -w password --set ecl-include:"cn"

从现在开始,下一个更改日志条目将包含带有旧'cn'值的'includedAttributes'属性,即'Peter'。