2011-08-11 81 views
1

我有三個活動目錄服務器不同的地址,端口和域名以及全部 在我的應用程序中,當用戶登錄系統時,我必須進行身份驗證。用戶只提供他的用戶名和密碼而不是域名或IP地址。 我如何驗證他,我是否必須遍歷所有ldap服務器,當我得到上下文我必須打破它..或者是任何其他可能的解決方案是爲驗證用戶在多個服務器 請建議。在此先感謝使用java的多個活動目錄服務器認證

+0

不,您必須一次檢查一個服務器。您可以嘗試保存用戶在哪個服務器上進行身份驗證的詳細信息,並且這種方式只需要一次循環訪問3臺服務器即可。 – Ali

+0

@Saiyansharwan:如果給定的用戶/密碼組合在多個服務器中可用,會發生什麼? – home

+0

這取決於你。根據您的情況做出最佳選擇。首先贏或者錯誤。 –

回答

0

如果用戶給他的FDN或UPN(用戶主體名稱)而不是隻是一個用戶名,這將是有幫助的。但是仍然不能保證upn會匹配你的領域名稱。如果他提供了FDN,那麼至少你可以緩存來自所有三臺服務器的defaultNamingContext,並嘗試將它與用戶提供的fdn進行匹配,並在匹配服務器上對其進行身份驗證。

但我想他是在你的情況提供samAccountName。在這種情況下,我們沒有任何線索來識別服務器。你必須一個接一個地進行檢查,並可能將其認證的服務器緩存下來,以提高性能。也有可能在多個AD中存在相同的用戶名。您必須根據您的AD環境處理此案例。

作爲附加說明,如果它的web應用程序嘗試使用spring的ldapTemplate。這可能會緩解你的任務。