我们使用第三方工具来创建AD对象(用户和组)。此工具使用ADSI创建对象,我们不会也不能指定它将写入的DC。因此,它可能今天写入DC1,明天写入DC2。尽管如此,一切都在复制,所以不用担心。
我们遇到的问题是我们创建群组的过程如下:
问题是Java LDAP调用在执行查找时确实指定了DC。假设Java设置为从DC1读取。如果第三方工具写入DC2,则对DC1的java查找无法找到该组。
AD复制延迟很小,所以如果我们在创建和查找之间添加15秒的延迟,那么它可以工作,但它有点难看。
另外,我尝试从Java查询所有DC。这适用于上面的示例,但是当我们更新用户或组的属性并立即尝试将其读回时,它仍然具有相同的基本问题。延迟似乎是唯一可行的方法,但似乎应该有比这更好的方法。
答案 0 :(得分:2)
不应以这种方式使用3d派对工具来更新目录。最终的一致性模型可以防止结果以任何有意义的方式被预测。正确的过程是使用附加了post-read request control的ADD,MODIFY,DELETE或MODIFY DN请求在应用程序代码中执行更新(添加/ mod / delete)。此方法由标准流程定义,并且如果更新有效,则保证可预测。请仔细阅读“LDAP: Programming Practices”及其附带的article。
中的信息