Spec-Zone .ru
спецификации, руководства, описания, API
|
И 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 представляются интерфейсом
См.
В результате федерации имена, которые Вы предоставляете к методам контекста JNDI, могут охватить многократные пространства имен. Их вызывают составными именами. При использовании JNDI, чтобы получить доступ к службе LDAP, следует знать, что у символа наклонной черты вправо (" / ") на имя строки есть особое значение к JNDI. Если имя записи LDAP содержит этот символ, то Вы должны выйти из этого (использование символа наклонной черты влево (" \")). Например, запись LDAP с именем "cn=O/R" должна быть представлена как строка "cn=O\\/R" к методам контекста JNDI. Для получения дополнительной информации об Именах проверяют Учебное руководство JNDI. Классы
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 в