好的,所以我將應用程序從非SSL轉移到SSL連接到我的LDAP服務器。在非SSL中運行應用程序時,連接池工作正常。但是,當我切換到SSL連接池不再工作。如何通過LDAP SSL啓用連接池?
在研究here時,我意識到我從不將「com.sun.jndi.ldap.connect.pool.protocol」屬性設置爲「普通ssl」,因爲默認情況下它設置爲普通。我認爲這是問題所在。
當我執行更改以包含「plain ssl」時,它沒有解決問題,連接池仍未被使用。
是否有其他一些設置,我缺少?
相關代碼:
Hashtable LDAPEnvironment = new Hashtable();
LDAPEnvironment.put(Context.SECURITY_AUTHENTICATION, SECURITY_AUTHENTICATION);
LDAPEnvironment.put(Context.SECURITY_PRINCIPAL, SECURITY_PRINCIPAL);
LDAPEnvironment.put(Context.SECURITY_CREDENTIALS, SECURITY_CREDENTIALS);
LDAPEnvironment.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY);
LDAPEnvironment.put(Context.PROVIDER_URL, PROVIDER_URL);
LDAPEnvironment.put(Context.SECURITY_AUTHENTICATION, "simple");
LDAPEnvironment.put("java.naming.ldap.version", versionOfLDAP);
if (ldapProtocol != null && ldapProtocol.equalsIgnoreCase("SSL")){
LDAPEnvironment.put(Context.SECURITY_PROTOCOL,"ssl");
LDAPEnvironment.put("com.sun.jndi.ldap.connect.pool.protocol","plain ssl");
}
LDAPEnvironment.put("com.sun.jndi.ldap.connect.pool", "true");
@投票結束的人:這不屬於serverfault.com,因爲它是一個Java問題。 – 2010-09-30 07:46:35