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"); 解决方法
我发现了这个问题.该文档明确指出这些属性是系统属性而不是环境属性.我将它们设置为环境属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |