URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 77681
[ Назад ]

Исходное сообщение
"Запросы в Ldap"

Отправлено Prihod , 03-Дек-07 18:32 
Может кто сталкивался.
Нужно следующее.
В LDAP отдельно хранится алиас для мыла (alias (Ivan.Ivanov)) и отдельно есть поле
mailDomain (email.com.ru). Теперь собственно вопрос можно ли выполнить запрос так
что бы на выходе было вот так Ivan.Ivanov@email.com.ru?

Содержание

Сообщения в этом обсуждении
"Запросы в Ldap"
Отправлено Cyrus_user , 04-Дек-07 07:21 
>Может кто сталкивался.
>Нужно следующее.
>В LDAP отдельно хранится алиас для мыла (alias (Ivan.Ivanov)) и отдельно есть
>поле
>mailDomain (email.com.ru). Теперь собственно вопрос можно ли выполнить запрос так
>что бы на выходе было вот так Ivan.Ivanov@email.com.ru?

можно. вариантов масса. я предпочитаю для необычных запросов use Net::LDAP;


"Запросы в Ldap"
Отправлено Prihod , 04-Дек-07 10:22 
>можно. вариантов масса. я предпочитаю для необычных запросов use Net::LDAP;

У меня небольшая специфика.
Данные из базы вынимаются thunderdird.
А там простое присваивание. Вот я думаю как можно написать запрос чтобы вернуло алиас@имя домена.


"Запросы в Ldap"
Отправлено Cyrus_user , 04-Дек-07 10:57 
>>можно. вариантов масса. я предпочитаю для необычных запросов use Net::LDAP;
>
>У меня небольшая специфика.
>Данные из базы вынимаются thunderdird.
>А там простое присваивание. Вот я думаю как можно написать запрос чтобы
>вернуло алиас@имя домена.

значит нужно привести свою базу к нормальному виду. любой клиент работающий с ldap, опирается на rfc822 и оперирует почтовыми адресами в атрибутах mail, mailLocalAddress, mailRoutingAddress  и  т.п. Всё остальное требует переделки клиентов


"Запросы в Ldap"
Отправлено Prihod , 04-Дек-07 11:11 
>значит нужно привести свою базу к нормальному виду. любой клиент работающий с
>ldap, опирается на rfc822 и оперирует почтовыми адресами в атрибутах mail,
>mailLocalAddress, mailRoutingAddress  и  т.п. Всё остальное требует переделки клиентов
>

В данном случае в поле mail все правильно то есть запись имеет вид vasya@email.com.ru,
а хочется что бы было Vasya.Pupkin@email.com.ru.
Запись типа Vasya.Pupkin@email.com.ru невозможно использовать так как cyrus imap не воспринимает нормально имена пользователей с точкой, для него это служебный символ.
Основная задача это подтянуть адресную книгу пользователей собрав её из уже заведённых пользователей, то есть не создавать дополнительной книги с записями типа Vasya.Pupkin@email.com.ru в поле mail.

Вопрос.
А нет ли функции какой и ли стандартного оператора как sql что бы вернуть нужно значение.
Я понимаю что здесь все упирается в клиент, но может есть какое нибудь другое решение?


"Запросы в Ldap"
Отправлено Cyrus_user , 04-Дек-07 11:19 
>[оверквотинг удален]
>имена пользователей с точкой, для него это служебный символ.
>Основная задача это подтянуть адресную книгу пользователей собрав её из уже заведённых
>пользователей, то есть не создавать дополнительной книги с записями типа Vasya.Pupkin@email.com.ru
>в поле mail.
>
>Вопрос.
>А нет ли функции какой и ли стандартного оператора как sql что
>бы вернуть нужно значение.
>Я понимаю что здесь все упирается в клиент, но может есть какое
>нибудь другое решение?

cyrus старше версии 1.4(то есть, младше 97 года) нормально воспринимает "." в имени пользователя.



"Запросы в Ldap"
Отправлено Krivoy , 04-Дек-07 11:25 
Бррр... опять ни чего не понял! ->
1) Какую схему в LDAPе вы исползуете? Если свою дайте её сюда.
2) Вам нужен поиск в LDAPе из под тхендурбёрда? Оно вроде нормально ищет или по cn или по mail?
3) Запрос куда? И для кого, чего вы хотите получить результат и для какой цели
После всего этого постараюсь помочь ....хотя вроде зарекался...

P.S. С точкой в Cyrusе вопрос решаемый - один параметр в imapd.conf.....


"Запросы в Ldap"
Отправлено Prihod , 04-Дек-07 11:41 
>[оверквотинг удален]
>1) Какую схему в LDAPе вы исползуете? Если свою дайте её сюда.
>
>2) Вам нужен поиск в LDAPе из под тхендурбёрда? Оно вроде нормально
>ищет или по cn или по mail?
>3) Запрос куда? И для кого, чего вы хотите получить результат и
>для какой цели
>После всего этого постараюсь помочь ....хотя вроде зарекался...
>
>P.S. С точкой в Cyrusе вопрос решаемый - один параметр в imapd.conf.....
>

1) Я использую OPEN-XCHANGE 0.8.7-0 (hymalia) communiti edition
Там соответственно его схема.
2) Да поиск работает, но возвращает записи типа ivan@email.com.ru, то есть короткие имена.
Мне нужно что бы от возвращал Ivan.Pupkin@email.com.ru, но Ivan.Pupkin хранится в alias, а ivan@email.com.ru в mail.
3) Запрос сделать в ldap, а результат запроса вернуть в поле "Электронная почта" а адресной книге thunderbird, сейчас туда выводит ivan@email.com.ru, а нужно Ivan.Pupkin@email.com.ru.

Может есть другое решение, может не туда смотрю....


"Запросы в Ldap"
Отправлено Krivoy , 04-Дек-07 11:57 
Я не видел схемы OPEN-XCHANGE - сможешь с помощью какого-нибудь LDAP браузера (типа Luma) вытащить сюда схему? или шматочичек базы в ldif формате?

По моему - Thunderbird делает запрос по mail или по cn (в cn у меня ФИО и даже получилось с кирилицей) получает cn и в итоге в поле кому вставляет cn<mail> По крайней мере у меня так.

А зачем тебе Ivan.Pupkin а не ivan?


"Запросы в Ldap"
Отправлено Prihod , 04-Дек-07 12:15 
>Я не видел схемы OPEN-XCHANGE - сможешь с помощью какого-нибудь LDAP браузера
>(типа Luma) вытащить сюда схему? или шматочичек базы в ldif формате?
>
>
>По моему - Thunderbird делает запрос по mail или по cn (в cn у меня ФИО и даже получилось с кирилицей) получает cn и в итоге в поле кому вставляет cn<mail> По крайней мере у меня так.
>
>А зачем тебе Ivan.Pupkin а не ivan?

Шматочек lbif
alias    Ivan.Pupkin
cn    Ivan Pupkin
description    pupkinivan
gidNumber    500
givenName    Ivan
homeDirectory    /home/pupkinivan/
lnetMailAccess    TRUE
loginShell    /bin/bash
mail    pupkinivan@email.com.ru
mailDomain    email.com.ru
mailEnabled    OK
o    <какое то ООО>
objectClass    OXUserObject
objectClass    inetOrgPerson
objectClass    person
objectClass    posixAccount
objectClass    shadowAccount
objectClass    top
OXAppointmentDays    5
OXGroupID    500
OXTaskDays    5
OXTimeZone    Europe/Kiev
preferredLanguage    RU
shadowExpire    0
shadowMax    9999
shadowMin    0
shadowWarning    7
sn    Pupkin
uid    pupkinivan
uidNumber    1004
userCountry    UA
userPassword    (non string data)


из этой схемы thunderbird берет поле mail (pupkinivan@email.com.ru), а нужно что бы было
Ivan.Pupkin@email.com.ru. То есть я предполагал alias@mailDomain.

Для чего это нужно. Это корпоративный стандарт. Вот нужно под него это дело подогнать.


"Запросы в Ldap"
Отправлено Krivoy , 04-Дек-07 12:23 
Извините за расспросы, но почему нельзя сделать сразу ящик Ivan.Pupkin@email.com.ru ???

"Запросы в Ldap"
Отправлено Prihod , 04-Дек-07 13:45 
>Извините за расспросы, но почему нельзя сделать сразу ящик Ivan.Pupkin@email.com.ru ???

Тут два нюанса.
1) корпоративные правила заведения пользователей
2) когда разворачивал OX пробовал вводить с имя.фамилия но не вышло, imap некорректно создавал директории пользователей (вернее вообще не создавал).

Вопрос.
Вообще возможно сделать то что я говорил раньше в размере функционала thunderbird или ldap?  



"Запросы в Ldap"
Отправлено Gennadi , 06-Дек-07 17:20 
>1) корпоративные правила заведения пользователей
>2) когда разворачивал OX пробовал вводить с имя.фамилия но не вышло, imap
>некорректно создавал директории пользователей (вернее вообще не создавал).

http://gennadi.dyndns.org/tmp/pupkin.png