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