2012-03-01 91 views
1

我們有第三方工具用於創建AD對象(用戶和組)。該工具使用ADSI創建對象,我們不會也不能指定它將寫入的DC。因此,它可能會在明天寫入DC1和DC2。一切都在複製,所以不用擔心。由於複製延遲導致Active Directory查找失敗

我們的問題是我們創建組的過程是這樣的:

  1. 發行集團創建於第三方工具。
  2. 如果成功,則通過LDAP調用在AD中查找組對象(這是一個Java應用程序)以獲取SID。 (第三方工具不會返回此)

的問題是,在Java LDAP調用做指定DC執行查找時。假設Java被設置爲從DC1讀取。如果第三方工具寫入DC2,則到DC1的java查找無法找到該組。

AD複製延遲很小,所以如果我們在創建和查找之間添加一個15秒的延遲,那麼它可以工作,但它有點難看。

此外,我試圖從Java查詢所有的DC。這適用於上述示例,但是當我們更新用戶或組的屬性並立即嘗試將其讀回時,它仍然具有相同的基本問題。延遲似乎是唯一的工作方法,但似乎應該有一個比這更好的方法。

回答

2

不應以這種方式使用3D派對工具更新目錄。最終的一致性模型可以防止以任何有意義的方式預測結果。正確的過程是使用附加的post-read request control添加,修改,刪除或修改DN請求在應用程序代碼中執行更新(添加/修改/刪除)。此方法由標準過程定義,如果更新正常,則保證可預測。請仔細研究「LDAP: Programming Practices」及其附帶的article的信息。

相關問題