Форум проекта Pro-LDAP.ru

Общие вопросы по LDAP => Схема данных, наборы Schema, объектные классы, атрибуты и другое => Тема начата: Stabilo от 21 Октябрь 2013, 18:07:32

Название: Создание схемы-шаблона без заполнения полей
Отправлено: 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 создаётся пустая запись и в её поля вносится информация.
Можно ли создать такую схему и если да, то как?
Заранее спасибо.
Название: Re: Создание схемы-шаблона без заполнения полей
Отправлено: egor от 22 Октябрь 2013, 14:38:26
Здравствуйте! Всегда трудно отвечать на такие неконкретные вопросы. LDAP -- не фреймворк, оперирующий с шаблонами, а довольно простой клиент-серверный протокол. Сервер сам по себе не производит никаких действий в каталоге, он выполняет лишь КОНКРЕТНЫЕ запросы клиента на создание, модификацию, удаление записей. Причём в каждом таком запросе клиент досконально описывает, какие именно действия над записью необходимо произвести, к примеру, при добавлении записи указывается её уникальное имя и конкретный набор атрибутов и их значений, которые клиент собирается внести в каталог. Совсем пустой записи создать не удастся, как минимум, в ней уже будут те атрибуты которые составляют её RDN (относительное уникальное имя). Тем более, если у Вас приходят уже подготовленные данные, почему бы сразу не создавать нормальную запись?

Если Вы пишите некий шлюз между БД и каталогом, можете реализовать "шаблон" на уровне своего приложения, а к LDAP-серверу обращаться с уже полностью сформированными LDAP-запросами. Если задача иная, напишите подробнее, что конкретно Вам нужно.

Егор
Название: Re: Создание схемы-шаблона без заполнения полей
Отправлено: Stabilo от 22 Октябрь 2013, 17:10:55
Спасибо за ответ, прошу извинить за неконкретный вопрос. Я не соображал до конца что может и чего не может лдап. А так же сам для себя четко не обозначил вопрос. Переиначу:
(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 задавать истинностные значения.
Надеюсь, теперь конкретики больше и заранее спасибо.
Название: Re: Создание схемы-шаблона без заполнения полей
Отправлено: egor от 23 Октябрь 2013, 10:30:13
Здравствуйте! Ответы на все Ваши вопросы есть в учебнике 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, неплохо бы прочитать весь учебник.

Егор
Название: Re: Создание схемы-шаблона без заполнения полей
Отправлено: Stabilo от 23 Октябрь 2013, 15:49:01
Большое спасибо.