[Sysadmins] ejabberd - группы из LDAP на основе OU
Dmitriy Kruglikov
dmitriy.kruglikov на gmail.com
Сб Окт 3 12:13:34 UTC 2009
3 октября 2009 г. 12:29 пользователь Max Ivanov написал:
> Я не осилил назначение всех фильров в оригинальном
> mod_shared_roster_ldap
...
> да там
> меня уже не остановить было :)
Вот, помню, и генерал Брусилов так же оправдывался... ;)
>
> Давай конечно.
Вот тебе, для начала vcard
+++
{mod_vcard_ldap, [
{ldap_vcard_map, [
{"NICKNAME", "%s", ["cn"]},
{"GIVEN", "%s", ["givenName"]},
{"MIDDLE", "%s", ["initials"]},
{"FAMILY", "%s", ["sn"]},
{"FN", "%s", ["displayName"]},
{"EMAIL", "%s", ["mail"]},
{"ORGNAME", "%s", ["o"]},
{"ORGUNIT", "%s", ["ou"]},
{"LOCALITY", "%s", ["l"]},
{"STREET", "%s", ["street"]},
{"REGION", "%s", ["st"]},
{"PCODE", "%s", ["postalCode"]},
{"TITLE", "%s", ["title"]},
{"URL", "%s", ["wWWHomePage"]},
{"DESC", "%s", ["description"]},
{"PHOTO", "%s", ["jpegPhoto"]},
{"ROLE", "%s", ["employeeType"]},
{"TEL", "%s", ["mobile"]}
]},
{ldap_search_fields, [
{"Пользователь", "%u"},
{"Псевдоним", "displayName"},
{"Имя", "givenName"},
{"Фамилия", "sn"},
{"E-Mail", "mail"},
{"Город", "l"}
]},
{ldap_search_reported, [
{"Псевдоним", "NICKNAME"},
{"Телефоны", "TEL"},
{"E-Mail", "EMAIL"}
]}
]},
+++
А вот тебе ростер...
+++
{mod_shared_roster_ldap, [
{ldap_base, "ou=People,dc=breg,dc=com,dc=ua"},
{ldap_groupattr, "l"},
{ldap_groupdesc, "City"},
{ldap_filter, "(&(destinationIndicator=act)(jabberPublishedItem=1))"},
{ldap_memberattr, "uid"},
{ldap_userdesc, "displayName"}
]},
+++
Фильтры у меня своеобразные ...
jabberPublishedItem нет в типовых схемах ...
Это остатки от танцев вокруг jabberd2 ...
destinationIndicator использую, как умею ...
В моих настройках destinationIndicator=act используется еще
и в фильтрах адресной книги RoundCube ...
В результате, у меня ростер группируется по городам, на основании
значения атрибута "l". В ростер попадают только те пользователи,
которые хоть раз залогинились, и при условии, что у них
destinationIndicator=act.
> Мне непонятно как дефолтный может работать с OU, ведь
> оно ищет сначала группы, потом просто берет как список пользователей
> какой-нибудь аттрибут найденной группы.
Нет ... Он берет значение ou: Группа ...
...
> т.к. надо искать с другим base path равноым dn от найденной
> OU.
Не ... Атрибут у каждого пользователя прописан ...
Ни чего искать не нужно ...
На основании значения поместить в нужную ветку ростера ...
--
Как правильно задавать вопросы:
http://maddog.sitengine.ru/smart-question-ru.html
Помогает:
http://search.altlinux.org
Best regards,
Dmitriy Kruglikov
Dmitriy.Kruglikov_at_gmail_dot_com
XMPP: Dmitriy.Kruglikov_at_gmail_dot_com
Подробная информация о списке рассылки Sysadmins