Мне интересно, какого "принципала" мне следует указать для входа на сервер Active Directory.Должен ли принципал быть пользователем внутри AD, в который я пытаюсь войти?Или это может быть пользователь в указанном мной домене, если у пользователя есть права доступа к AD?
Я пробовал оба с ошибкой учетных данных 49. Но я могу войти в AD с помощью ldp.exe, используя учетную запись администратора сервера, на котором установлена AD.
Вот мой код,Большое спасибо за любую оперативную помощь.
Hashtable env= new Hashtable(11);
env.put(Context.SECURITY_AUTHENTICATION,"simple"); // Also tried none w/ the same error
// What principal should I use??
env.put(Context.SECURITY_PRINCIPAL,"CN=Ross,OU=Eng,DC=RossInc");//User
//env.put(Context.SECURITY_PRINCIPAL, user + "@" + domain); // Tried w/ the same error
env.put(Context.SECURITY_CREDENTIALS, "ross");//Password
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://myserver:389/DC=RossInc");
DirContext ctx = new InitialDirContext(env); <-- Fails with AuthenticationException: [LDAP: error code 49 - 8009030C