2010-08-04 2 views
1

Что было бы самым простым способом добавить новое поле в список потенциальных полей в существующей схеме ldap?Как добавить новое поле в открытую схему ldap

Как это повлияет на существующие записи?

Поле будет добавлено на самом глубоком уровне dn (каждая учетная запись пользователя).

ответ

0

Как правило, вы можете расширить схему сервера LDAP. Конкретные детали зависят от базовой службы, предоставляющей LDAP. (Active Directory немного отличается от eDirectory и немного отличается от OpenLDAP или SunOne).

Тем не менее, общим для всех возможных серверов LDAP является концепция вспомогательного класса.

Базовая схема, которая поставляется с сервером, обычно имеет структурные классы, которые можно использовать для объектов. Другой - абстрактные классы, которые на самом деле являются просто заполнителями, так что вы можете наследовать от него другие классы (скажем, структурный класс). Возможно, два структурных класса могут наследоваться от одного и того же абстрактного класса, тем самым делая определения более понятными и понятными.

Наконец, мы приходим к вспомогательным классам, которые, вероятно, являются наиболее полезными. Эти классы не могут стоять сами по себе, но вы можете добавить имя класса в список атрибутов класса объектов (objectClass), а затем можно использовать дополнительные атрибуты, определенные в классе Aux.

Это самый безопасный, наименее болезненный способ расширения схемы LDAP. Он не затрагивает базовую схему и ни один из стандартных классов доставки. Скорее, у вас есть полностью автономный класс, который вы можете добавить к любому интересующему вас объекту, и его легко изменить.

+0

thanks @geoffc, я думаю, что меня интересует добавление атрибутов objectClass. Я использую OpenLDAP, это то, что я делаю через конфигурационный файл, а затем все текущие записи имеют доступ к новому атрибуту? Я знаю, что вы не используете «поле», LDAP просто игнорирует его, если нет значения. Но я не уверен, как это работает по-другому. Спасибо. –

+0

objectClass - это атрибут, в котором перечислены имена класса, связанного с этим объектом. Затем объект может содержать все атрибуты, которые являются частью этих классов. I.e. Здесь вы неправильно используете objectClass. Что вы, вероятно, хотите сделать, это для SPECIFIC objectClass, хотите добавить к нему атрибуты. Может быть, Пользователь, Группа, Организация, что угодно. – geoffc

+0

спасибо, мне удалось обновить схему openldap, частично с вашим советом. Оказывается, уже была расширенная схема, и я использовал ее для чертежа и расширил ее. Я не уверен, что знаю смысл всей конфигурации, которую я сделал, но, похоже, работает :) –

Смежные вопросы