2014-01-07 41 views
0

我們正在用java開發一個具有spring安全性的web應用程序。我負責添加支持,以便根據Active Directory對用戶進行身份驗證。 爲此,我將2008服務器中的一個升級爲域控制,並添加了一個包含ActiveDirectoryLdapAuthenticationProvider spring class的代碼段來驗證登錄用戶身份。 它與ldap和ldaps protcols很好地工作。Active-Directory連接測試和一些配置細節

但幾個問題:

1)ActiveDirectoryLdapAuthenticationProvider構造只接收廣告網址和域名不像LdapAuthenticationProvider可疑OpenLDAP的,這需要微塵輸入詳細信息,如managerDN,管理員密碼,用戶搜索庫和組搜索基地等。 Active Directory不應該需要所有這些數據嗎?我想至少它需要經理用戶/密碼才能連接!當然,在我的測試例程中,我只提供了url和域,併成功驗證了用戶身份。

2)我需要編寫快速連接測試例程來驗證用戶是否輸入了AD url和domain是否有效。怎麼做?

順便說一句,我們的應用程序將部署在Ubuntu上。

謝謝。

回答

0

能夠做到使用下面的代碼片段連接測試:

Hashtable<String, String> env = new Hashtable<String, String>(); 
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
env.put(Context.PROVIDER_URL, "ldap://dc.example.com"); 
env.put(Context.SECURITY_AUTHENTICATION, "none"); 

try { 
    new InitialDirContext(env); 
} catch (NamingException e) { 
    // not connected 
} 

仍在試圖瞭解該URL和域名信息就足以跟廣告或提供更多的對象的信息需要一些情況。