java – 如何通过LDAP SSL启用连接池?
发布时间:2020-12-15 02:21:54 所属栏目:Java 来源:网络整理
导读:好的,所以我将我的应用程序从非SSL连接到我的LDAP服务器的SSL连接.在非SSL中运行应用程序时,连接池工作正常.但是当我切换到SSL时,连接池不再有效. 在研究here时,我意识到我从未将“com.sun.jndi.ldap.connect.pool.protocol”属性设置为“plain ssl”,因为默
|
好的,所以我将我的应用程序从非SSL连接到我的LDAP服务器的SSL连接.在非SSL中运行应用程序时,连接池工作正常.但是当我切换到SSL时,连接池不再有效.
在研究here时,我意识到我从未将“com.sun.jndi.ldap.connect.pool.protocol”属性设置为“plain ssl”,因为默认情况下它设置为plain.我以为这就是问题所在. 当我实现更改以包含“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");
解决方法
我发现了这个问题.该文档明确指出这些属性是系统属性而不是环境属性.我将它们设置为环境属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |








