Форум проекта Pro-LDAP.ru
Общие вопросы по LDAP => Схема данных, наборы Schema, объектные классы, атрибуты и другое => Тема начата: Stabilo от 21 Октябрь 2013, 18:07:32
-
Здравствуйте, подскажите пожалуйста, возможно ли создать схему такого типа:
cn=root,dn=my,dn=ru
objectclass: organizationalunit
ou: people
cn:
sn:
group:
uid:
login:
password:
Нужно чтобы была схема, ветвящаяся сразу от root'a, где
root:
|people:
|запись
|запись
|запись
|...
при обращении к people создавался шаблон с пустыми описанными полями, которые заполняются извне (при синхронизации с другой базой данных). Извне приходит запрос с подготовленной информацией, в people создаётся пустая запись и в её поля вносится информация.
Можно ли создать такую схему и если да, то как?
Заранее спасибо.
-
Здравствуйте! Всегда трудно отвечать на такие неконкретные вопросы. LDAP -- не фреймворк, оперирующий с шаблонами, а довольно простой клиент-серверный протокол. Сервер сам по себе не производит никаких действий в каталоге, он выполняет лишь КОНКРЕТНЫЕ запросы клиента на создание, модификацию, удаление записей. Причём в каждом таком запросе клиент досконально описывает, какие именно действия над записью необходимо произвести, к примеру, при добавлении записи указывается её уникальное имя и конкретный набор атрибутов и их значений, которые клиент собирается внести в каталог. Совсем пустой записи создать не удастся, как минимум, в ней уже будут те атрибуты которые составляют её RDN (относительное уникальное имя). Тем более, если у Вас приходят уже подготовленные данные, почему бы сразу не создавать нормальную запись?
Если Вы пишите некий шлюз между БД и каталогом, можете реализовать "шаблон" на уровне своего приложения, а к LDAP-серверу обращаться с уже полностью сформированными LDAP-запросами. Если задача иная, напишите подробнее, что конкретно Вам нужно.
Егор
-
Спасибо за ответ, прошу извинить за неконкретный вопрос. Я не соображал до конца что может и чего не может лдап. А так же сам для себя четко не обозначил вопрос. Переиначу:
(http://s1.ipicture.ru/uploads/20131022/fqax7Xos.png)
у схемы person строгий набор атрибутов. типа password, description и так далее.
Мне необходимо добавить еще и свои, ткните пожалуйста в мануал или, что еще лучше, подскажите как добавить схему, которая бы работало с ldif'ом типа:
dn: cn=cn2,ou=example,dc=com
cn: cn2
objectClass: member
password: password2
login_Moodle: login_Moodle2
login_GApps: login_GApps2
email: email2
email2: email22
surname: surname2
name: name2
worker: worker2
student: student2
str: str2
otd: otd2
group: group2
ID: ID2
То есть через админку бы было видно, что к записи можно добавить поля name, surename(sn), group, otd и т.д.
Подскажите так же, есть ли в лдап булевы поля? например для worker и student задавать истинностные значения.
Надеюсь, теперь конкретики больше и заранее спасибо.
-
Здравствуйте! Ответы на все Ваши вопросы есть в учебнике LFRS (http://pro-ldap.ru/tr/zytrax/). Для начала рекомендую ознакомиться с 3-й главой (http://pro-ldap.ru/tr/zytrax/ch3/), чтобы была ясность с объектными классами и атрибутами LDAP. Затем посмотрите атрибуты стандартного объектного класса inetOrgPerson (http://pro-ldap.ru/tr/zytrax/ape/index.html#inetorgperson) -- его обычно берут за основу для записи, описывающей человека, там есть атрибуты практически на все случаи жизни. Если же их недостаточно, можно создать свой набор схемы данных -- об этом в главе 5 (http://pro-ldap.ru/tr/zytrax/ch5/step4.html). Наконец, о том, какие бывают типы данных в LDAP можно посмотреть здесь (http://pro-ldap.ru/tr/zytrax/apa/types.html).
Вообще, если хотите разобраться в LDAP, неплохо бы прочитать весь учебник.
Егор
-
Большое спасибо.