【问题标题】:Active Directory lookup failure due to replication delay由于复制延迟导致 Active Directory 查找失败
【发布时间】:2012-03-01 18:56:27
【问题描述】:

我们有一个用于创建 AD 对象(用户和组)的第三方工具。该工具使用 ADSI 创建对象,我们没有也不能指定它将写入的 DC。因此,它可能今天写入 DC1,明天写入 DC2。不过,一切都会复制,所以不用担心。

我们的问题是我们创建组的过程如下所示:

  1. 问题组创建到 3rd 方工具。
  2. 如果成功,则通过 LDAP 调用(这是一个 Java 应用程序)在 AD 中查找组对象以获取 SID。 (第三方工具不会返回这个)

问题在于 Java LDAP 调用在执行查找时确实指定了 DC。假设 Java 设置为从 DC1 读取。如果第三方工具写入 DC2,则对 DC1 的 java 查找无法找到该组。

AD 复制延迟很小,所以如果我们在创建和查找之间添加 15 秒的延迟,那么它可以工作,但有点难看。

另外,我尝试从 Java 中查询所有 DC。这适用于上面的示例,但是当我们更新用户或组的属性并立即尝试将其读回时,它仍然存在相同的基本问题。延迟似乎是唯一可行的方法,但似乎应该有比这更好的方法。

【问题讨论】:

    标签: active-directory ldap replication


    【解决方案1】:

    不应以这种方式使用 3d 方工具来更新目录。最终一致性模型阻止结果以任何有意义的方式可预测。正确的过程是使用附加了post-read request control 的ADD、MODIFY、DELETE 或MODIFY DN 请求在应用程序代码中执行更新(添加/修改/删除)。此方法由标准流程定义,并且如果更新有效,则保证是可预测的。请仔细研究“LDAP: Programming Practices”及其随附的article处的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 2014-12-15
      • 1970-01-01
      • 2015-01-11
      相关资源
      最近更新 更多