Приложение A — LDAP: Определение иерархии объектных классов

Во многих документах утверждается, что в LDIF-файлах, описывающих DIT и его записи, должна указываться полная иерархия объектных классов, как показано в этом фрагменте LDIF:

dn:cn=Jim Bob,ou=people,dc=example,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: Jim Bob
sn: Bob
mail: jimbob@example.com
ou: sales
....

Определение объектного класса включает в себя иерархию объектных классов, то есть вышестоящие (SUP) по отношению к нему объектные классы. Все наборы схемы, в которых содержатся ВСЕ объектные классы, составляющие иерархию, должны быть известны серверу LDAP (в OpenLDAP это делается с помощью директив include файла slapd.conf). Таким образом, в теории, сервер LDAP способен самостоятельно поднять иерархию объектных классов, и сделать это намного быстрее, чем Вы её напечатаете. Приведенное выше определение может также внести путаницу видимостью того, что в записи присутствует более одного структурного объектного класса — смотрите дополнительные замечания относительно наследования объектных классов.

На практике, OpenLDAP версий 2.x+ способен обработать иерархию объектных классов, таким образом оба фрагмента LDIF (выше и ниже) будут прекрасно работать, в том числе будет возможность доступа к объектным классам и атрибутам из вышестоящей иерархии. Например, будет доступен атрибут street объектного класса organizationalPerson.

dn:cn=Jim Bob,ou=people,dc=example,dc=com
objectclass: inetOrgPerson
cn: Jim Bob
sn: Bob
mail: jimbob@example.com
ou: sales
....

Внимание: Если Вы экспортируете последнее определение из OpenLDAP, на выходе будет именно то, что Вы указали в LDIF, с помощью которого записи были созданы. Не все серверы LDAP способны автоматически обработать иерархию объектных классов. Если Вы затем попытаетесь загрузить экспортированный LDIF в LDAP-сервер, не способный обработать иерархию объектных классов, скорее всего Вы не получите желаемого результата. Если Вы используете только серверы с поддержкой обработки иерархии (например, только OpenLDAP), то можно сэкономить время, не печатая лишнего.



Проблемы, комментарии, предположения, исправления (включая битые ссылки) или есть что добавить? Пожалуйста, выкроите время в потоке занятой жизни, чтобы написать нам, вебмастеру или в службу поддержки. Оставшийся день Вы проведёте с чувством удовлетворения.

Нашли ошибку в переводе? Сообщите переводчикам!

Copyright © 1994-2017 ZyTrax, Inc. Все права защищены. Последнее изменение страницы: 21 октября 2015 г.
Переведено участниками проекта Pro-LDAP.ru в 2012 г.