Мы пытаемся интегрировать аутентификацию LDPA с использованием технологии Java, но не можем подключиться к серверу IDAM-NETIQ, используя нижеприведенный код,
подробности параметра,
INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
PROVIDER_URL, "ldap:// IP ADDRESS :10389");
SECURITY_PRINCIPAL, "CN=Testnetiq.O=IBOM_test");
SECURITY_CREDENTIALS, "PASSWORD");
package com.test.poc;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;
public class Testing {
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
props.put(Context.PROVIDER_URL, "ldap:// ldap ip :10389");
props.put(Context.SECURITY_PRINCIPAL, "CN=Testnetiq.O=IBOM_test");
props.put(Context.SECURITY_CREDENTIALS, "Wipro@123");
InitialDirContext context = new InitialDirContext(props);
SearchControls ctrls = new SearchControls();
ctrls.setReturningAttributes(new String[] { "givenName", "sn", "memberOf" });
ctrls.setSearchScope(SearchControls.SUBTREE_SCOPE);
NamingEnumeration<javax.naming.directory.SearchResult> answers = context.search("o=IBOM_test",
"(uid=" + "Test123" + ")", ctrls);
javax.naming.directory.SearchResult result = answers.nextElement();
String user = result.getNameInNamespace();
try {
props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
props.put(Context.PROVIDER_URL, "ldap://ldap ip :10389");
props.put(Context.SECURITY_PRINCIPAL, user);
props.put(Context.SECURITY_CREDENTIALS, "Test@123");
context = new InitialDirContext(props);
} catch (Exception e) {
System.out.println("false");
}
System.out.println("True");
}
}
при доступе мы получаем ошибку, как показано ниже,
err] javax.naming.AuthenticationNotSupportedException: [LDAP: ошибка
код 13 - Требуется конфиденциальность] [err] в
com.sun.jndi.ldap.LdapCtx.mapErrorCode (LdapCtx.java:3127) [err] в
com.sun.jndi.ldap.LdapCtx.processReturnCode (LdapCtx.java:3082) [err]
в com.sun.jndi.ldap.LdapCtx.processReturnCode (LdapCtx.java:2883)
[err] на com.sun.jndi.ldap.LdapCtx.connect (LdapCtx.java:2797) [err]
в com.sun.jndi.ldap.LdapCtx. (LdapCtx.java:319) [ошибаться] в
com.sun.jndi.ldap.LdapCtxFactory.getUsingURL (LdapCtxFactory.java:192)
[ошибаться] в
com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs (LdapCtxFactory.java:210)
[ошибаться] в
com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance (LdapCtxFactory.java:153)
[ошибаться] в
com.sun.jndi.ldap.LdapCtxFactory.getInitialContext (LdapCtxFactory.java:83)
[ошибаться] в
org.apache.aries.jndi.ContextHelper.getInitialContextUsingBuilder (ContextHelper.java:244)
[err] в [внутренние классы] [err] в
javax.naming.spi.NamingManager.getInitialContext (NamingManager.java:684)
[ошибаться] в
javax.naming.InitialContext.getDefaultInitCtx (InitialContext.java:313)
[err] at javax.naming.InitialContext.init (InitialContext.java:244)
В чем проблема с нашим Java-кодом или сервером LDAP?