Как я могу проверить соединение LDAP, используя JNDI - PullRequest
0 голосов
/ 18 августа 2011

Я получаю исключение javax.naming.NameNotFountException: [LDAP: error code 32 - No Such Object]; remaining name = 'DC=my-company, DC=group'

Причиной может быть то, что DN 'DC=my-company, DC=group' недействителен. Но такое исключение происходит и тогда, если я установлю ldapAdServer, ldapUsername, ldapPassword на недопустимые значения. Итак, я полагаю, что мое соединение LDAP не было правильно установлено.

Как я могу проверить соединение LDAP, было ли оно успешно создано?

Ответы [ 2 ]

0 голосов
/ 18 августа 2011

Но такое исключение возникает и тогда, если я установлю ldapAdServer, ldapUsername, ldapPassword в недопустимые значения.

Нет, это не так.Вы получаете другое исключение.

0 голосов
/ 18 августа 2011

No Such Object - это ошибка, возвращаемая сервером каталогов, когда объект запроса не существует.Используйте правильный базовый объект вместо dc=my-company,dc=com.

Если вы не знаете базовый объект, вы можете обнаружить префикс каталога (или контекст именования), запросив корневой каталог DSE * 1006.*.Если вы не знаете правильный базовый объект, вы можете использовать префикс или контекст именования в качестве базового объекта, пока не обнаружите базовый объект (который должен быть ближе к вашим данным, чем префикс или контекст именования).

В более общем смысле, JNDI не следует использовать, если вы точно знаете, что ваш сервер каталогов будет доступен через LDAP.Вы сможете быстро разработать рабочий, практичный код, который будет более понятен другим и более эффективным, если вы используете SDK SDAP профессионального качества, например, из UnboundID .Стандартная версия бесплатна и поставляется с исходным кодом.

...