Spec-Zone .ru
спецификации, руководства, описания, API
След: Именование Java и Интерфейс Каталога
Урок: Усовершенствованные Темы для Пользователей LDAP
JNDI как API LDAP
Домашняя страница > Именование Java и Интерфейс Каталога > Усовершенствованные Темы для Пользователей LDAP

JNDI как API LDAP

И JNDI и модели LDAP определяют иерархическое пространство имен, в котором Вы называете объекты. У каждого объекта в пространстве имен могут быть атрибуты, которые могут использоваться, чтобы искать объект. На этом высоком уровне эти две модели подобны, таким образом, не удивительно, что JNDI отображается хорошо на LDAP.

Модели

Можно думать о записи LDAP как о DirContext JNDI. Каждая запись LDAP содержит имя и ряд атрибутов, так же как дополнительного набора дочерних элементов. Например, запись LDAP, которую "o=JNDITutorial" может иметь как его атрибуты "objectclass" и "o", и это может иметь как его дочерние элементы "ou=Groups" и "ou=People".

В JNDI запись LDAP "o=JNDITutorial" представляется как контекст с именем "o=JNDITutorial", у которого есть два подконтекста, названные: "ou=Groups" и "ou=People". Атрибуты записи LDAP представляются интерфейсом Attributes, тогда как отдельные атрибуты представляются интерфейсом Attribute.

Представление LDAP и JNDI

См. следующую часть этого урока для деталей о том, как к операциям LDAP получают доступ через JNDI.

Имена

В результате федерации имена, которые Вы предоставляете к методам контекста JNDI, могут охватить многократные пространства имен. Их вызывают составными именами. При использовании JNDI, чтобы получить доступ к службе LDAP, следует знать, что у символа наклонной черты вправо (" / ") на имя строки есть особое значение к JNDI. Если имя записи LDAP содержит этот символ, то Вы должны выйти из этого (использование символа наклонной черты влево (" \")). Например, запись LDAP с именем "cn=O/R" должна быть представлена как строка "cn=O\\/R" к методам контекста JNDI. Для получения дополнительной информации об Именах проверяют Учебное руководство JNDI. Классы LdapName и Rdn упрощают создание и манипулирование именами LDAP.

LDAP называет, поскольку они используются в протоколе, всегда полностью определяются имена, которые идентифицируют записи, которые запускаются с корня пространства имен LDAP (как определено сервером). Следующее является некоторыми примерами полностью определенных имен LDAP.

cn=Ted Geisel, ou=Marketing, o=Some Corporation, c=gb
cn=Vinnie Ryan, ou=People, o=JNDITutorial

В JNDI, однако, имена всегда относительны; то есть, Вы всегда называете объект относительно контекста. Например, можно назвать запись "cn=Vinnie Ryan" относительно контекста под названием "ou=People, o=JNDITutorial". Или можно назвать запись "cn=Vinnie Ryan, ou=People" относительно контекста под названием "o=JNDITutorial". Или, можно создать начальный контекст, который указывает на корень пространства имен сервера LDAP, и назовите запись "cn=Vinnie Ryan, ou=People, o=JNDITutorial".

В JNDI можно также использовать URL LDAP, чтобы назвать записи LDAP. См. обсуждение URL LDAP в Учебном руководстве JNDI.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: LDAP v3
Следующая страница: Как Карта Операций LDAP к API JNDI