Страница 1 из 1

OpenLdap поиск по связанным полям

Добавлено: 2013-10-07 14:22:29
kharkov_max
День добрый.

Есть некая база LDAP, в которой куча учеток, ищется по uid
У этих учеток есть алиасы, добавлены как отдельные объекты LDAP.
У учеток есть уникальные идентификаторы, которые есть в объектах алиасов.

Вопрос как можно осуществить поиск в ldap по алиасу, а получить связанный с алиасом объект?

Суть вопроса в следующем.
Есть маил сервер zimbra, с нему через Ldap привязана авторизация из инета через Apache.
Хочется через Apache проходить авторизацию не только по имени учетки, а и по ее алиасу.

На сколько я понимаю нужно как то правильно настроить фильтр в Apache, или может предложите другие варианты.

Спасибо.

Re: OpenLdap поиск по связанным полям

Добавлено: 2013-10-28 8:23:48
BlitzKrieg
Если я правильно все понял, то можно так:

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(uid=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))"
Но быстрее будет так:

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(sAMAccountName=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))"

Re: OpenLdap поиск по связанным полям

Добавлено: 2013-10-28 9:39:40
kharkov_max
BlitzKrieg писал(а):Если я правильно все понял, то можно так:

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(uid=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))"
Но быстрее будет так:

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(sAMAccountName=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))"
Пробовал - не пашет.
Алиас связан с учеткой только по уникальному идентификатору.
А в логин нужно подставить именно uid, а не другое поле, ну и собственно пароль взять тоже от учетки с uid

Т.е. нужно в фильтр подставить поиск по uid или по алиасу который вернет связанный uid (|(uide=blitzkrieg)(ищем по алиасу, но получаем связанный uid)

Как то так ...

Re: OpenLdap поиск по связанным полям

Добавлено: 2013-10-28 9:57:03
BlitzKrieg
Как-то так?

Код: Выделить всё

ldapsearch -w password -h server -D cn=admin,ou="LdapAdmins",dc=web,dc=domain,dc=ru "(|(uid=blitzkrieg)(userPrincipalName=blitzkrieg@web.domain.ru))" uid
На винде первый из предложенных вариантов с sAMAccountName который работает ощутимо быстрее второго. А содержание одинаковое, так смысл тогда искать по uid.

Re: OpenLdap поиск по связанным полям

Добавлено: 2013-10-28 11:21:25
BlitzKrieg
Вобщем на примере покажи чего надо :-)