Я пытаюсь получить список всех пользователей из моего активного каталога (AD LDS/ADAM). Однако я продолжаю получать следующую ошибку:
Ошибка поиска: javax.naming.NameNotFoundException: [LDAP: код ошибки 32 — 000020 8D: NameErr: DSID-031522C9, проблема 2001 (NO_OBJECT), данные 0, наилучшее соответствие: 'DC = PORTAL, DC = COMPANY, DC = BE '
Мой код:
public static void main(String[] args) {
try {
DirContext ctx = new InitialDirContext(Environment.getEnvironment());
NamingEnumeration enumeration = ctx
.list("OU=ACCOUNTS,DC=PORTAL,DC=COMPANY,DC=BE");
while (enumeration.hasMore()) {
NameClassPair nc = (NameClassPair) enumeration.next();
System.out.println(enumeration);
}
// Close the context when we're done
ctx.close();
} catch (AuthenticationException e) {
System.out.println("Invalid credentials");
} catch (NamingException e) {
System.out.println("Lookup failed: " + e);
}
}
РЕДАКТИРОВАТЬ: добавлены детали подключения
public static Hashtable getEnvironment() {
// Set up the environment for creating the initial context
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389/");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL,
"CN=Admin,OU=System Accounts,DC=PORTAL,DC=COMPANY,DC=BE");
env.put(Context.SECURITY_CREDENTIALS, "Pass123");
env.put(Context.REFERRAL, "follow");
return env;
}
ou=accounts
? Ответ поиска указывает, что базовый объект соответствуетdc=portal, ...
. - person Terry Gardner   schedule 13.03.2012dc=portal
. Есть ли у клиента LDAP разрешение на поиск подчиненныхdc=portal
? - person Terry Gardner   schedule 13.03.2012