当我尝试连接到不允许匿名绑定的 LDAP 服务器时使用 java,我没有收到任何错误。但是当我使用客户端匿名连接到该服务器时,我无法做到。有没有办法在 java 中识别 LDAP 服务器是否支持匿名绑定?
// Set up environment for creating initial context
Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://"+host+":"+port+"/");
env.put(Context.SECURITY_PRINCIPAL, dn);
env.put(Context.REFERRAL, "follow");
env.put(VsomConstants.LDAP_CONNECT_TIMEOUT, SystemPreferencesHelper.getLdapConnectionTimeOut().toString());
env.put(Context.SECURITY_AUTHENTICATION, "none");
// Create initial context
ctx = new InitialDirContext(env);