Автор Тема: Создание схемы-шаблона без заполнения полей  (Прочитано 20553 раз)

Stabilo

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Здравствуйте, подскажите пожалуйста, возможно ли создать схему такого типа:

cn=root,dn=my,dn=ru
objectclass: organizationalunit
ou: people

cn:
sn:
group:
uid:
login:
password:


Нужно чтобы была схема, ветвящаяся сразу от root'a, где

root:
        |people:
                     |запись
                     |запись
                     |запись
                     |...

при обращении к people создавался шаблон с пустыми описанными полями, которые заполняются извне (при синхронизации с другой базой данных). Извне приходит запрос с подготовленной информацией, в people создаётся пустая запись и в её поля вносится информация.
Можно ли создать такую схему и если да, то как?
Заранее спасибо.

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Создание схемы-шаблона без заполнения полей
« Ответ #1 : 22 Октябрь 2013, 14:38:26 »
Здравствуйте! Всегда трудно отвечать на такие неконкретные вопросы. LDAP -- не фреймворк, оперирующий с шаблонами, а довольно простой клиент-серверный протокол. Сервер сам по себе не производит никаких действий в каталоге, он выполняет лишь КОНКРЕТНЫЕ запросы клиента на создание, модификацию, удаление записей. Причём в каждом таком запросе клиент досконально описывает, какие именно действия над записью необходимо произвести, к примеру, при добавлении записи указывается её уникальное имя и конкретный набор атрибутов и их значений, которые клиент собирается внести в каталог. Совсем пустой записи создать не удастся, как минимум, в ней уже будут те атрибуты которые составляют её RDN (относительное уникальное имя). Тем более, если у Вас приходят уже подготовленные данные, почему бы сразу не создавать нормальную запись?

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

Егор

Stabilo

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Создание схемы-шаблона без заполнения полей
« Ответ #2 : 22 Октябрь 2013, 17:10:55 »
Спасибо за ответ, прошу извинить за неконкретный вопрос. Я не соображал до конца что может и чего не может лдап. А так же сам для себя четко не обозначил вопрос. Переиначу:


у схемы 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 задавать истинностные значения.
Надеюсь, теперь конкретики больше и заранее спасибо.

egor

  • Администратор
  • Старожил
  • *****
  • Сообщений: 486
    • Просмотр профиля
Re: Создание схемы-шаблона без заполнения полей
« Ответ #3 : 23 Октябрь 2013, 10:30:13 »
Здравствуйте! Ответы на все Ваши вопросы есть в учебнике LFRS. Для начала рекомендую ознакомиться с 3-й главой, чтобы была ясность с объектными классами и атрибутами LDAP. Затем посмотрите атрибуты стандартного объектного класса inetOrgPerson -- его обычно берут за основу для записи, описывающей человека, там есть атрибуты практически на все случаи жизни. Если же их недостаточно, можно создать свой набор схемы данных -- об этом в главе 5. Наконец, о том, какие бывают типы данных в LDAP можно посмотреть здесь.

Вообще, если хотите разобраться в LDAP, неплохо бы прочитать весь учебник.

Егор

Stabilo

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Создание схемы-шаблона без заполнения полей
« Ответ #4 : 23 Октябрь 2013, 15:49:01 »
Большое спасибо.