如何使用 JNDI 将参数传递给 LDAP 自定义套接字工厂?

2022-01-17 00:00:00 ldap java jndi

我正在使用 JNDI 建立 LDAP 连接.示例:

I'm using JNDI to make LDAP connections. Example:

Hashtable env = new Hashtable();
env.put(Context.PROVIDER_URL, LDAPS_URL);
env.put(Context.SECURITY_AUTHENTICATION, "EXTERNAL");
env.put("java.naming.ldap.factory.socket", "ldaptest.CustomSocketFactory");
...

我需要在运行时将参数传递给 CustomSocketFactory.特别是对客户端证书的引用.

I need to pass parameters at run time to the CustomSocketFactory. Specifically a reference to a client certificate.

我该怎么做?我可以使用线程本地存储.

How can I do this? I could use thread local storage.

有没有更好的办法?

推荐答案

实际上线程本地是我目前发现的唯一方法.我在这里发布了我的解决方案:

Actually thread local is only way to solve this I found so far. I posted my solution here:

jndi LDAPS 自定义 HostnameVerifier 和 TrustManager

相关文章