我使用在一台服务器上运行的开放 LDAP,它在 10.0.26.X IP 上运行,我的客户端在 IP 10.0.25.X 上运行,中间有防火墙,但端口 389 已打开并处于侦听状态。因此,我面临的客户端问题是它关闭了客户端服务器,之后我必须每 6 小时重新启动一次客户端,然后它工作一段时间后会再次出现同样的问题。
我尝试打开客户端和打开 LDAP 之间的连接,但出现同样的问题。同样从防火墙端我们已经尝试了一切。
Hashtable<String, String> envMap = new Hashtable<>();
envMap.put(Context.INITIAL_CONTEXT_FACTORY, initContextFactory);
envMap.put(Context.PROVIDER_URL, providerUrl);
envMap.put(Context.SECURITY_AUTHENTICATION, securityAuthentication);
envMap.put(Context.SECURITY_PRINCIPAL, userDN);
envMap.put(Context.SECURITY_CREDENTIALS, password);
DirContext userCtx = new InitialDirContext(envMap);
SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
String filter = MessageFormat.format(Constants.LDAP_PERSON_FILTER, attrKey, attrValue);
NamingEnumeration<SearchResult> userResults = dirReaderctx.search(Constants.LDAP_DOMAIN_NAME,
filter, controls);
if (userResults.hasMore()) {
searchResult = userResults.next();
return searchResult;
}
我得到的例外是:
[com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:2002)、com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1844)、com.sun.jndi.ldap.LdapCtx.c_search (LdapCtx.java:1769),com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:392),com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:358), com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:341), javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267), sun.reflect.GenerateMethodAccessor100.invoke(未知来源), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java: 209),org.springframework.web.method。
SMILET
互换的青春
相关分类