мы используем ejabberd 19.02 с аутентификацией Active Directory и используем mod_shared_roster_ldap для отображения контактов из группы AD.
Он работает нормально, но есть одна проблема. В Pidgin группа по умолчанию - «Друзья», и мы хотим показать имя группы AD. Я не могу настроить отображение имени группы AD в Pidgin.
Имя группы AD: XMPP-Messenger.
Вот конфигурация mod_shared_roster_ldap. Было бы здорово, если бы кто-нибудь мог помочь мне отобразить имя группы или описание группы:
ldap_base: "DC=our,DC=domain,DC=com" # Search base of LDAP directory
ldap_groupattr: "sAMAccountName"
ldap_groupdesc: ""
ldap_memberattr: "sAMAccountName"
ldap_memberattr_format: "%u"
ldap_useruid: "sAMAccountName"
ldap_userdesc: "displayName"
ldap_rfilter: "(&(objectCategory=group)(cn=XMPP-Messenger))"
ldap_gfilter: "(&(objectCategory=user)(memberOf=CN=XMPP-Messenger,OU=to,OU=Path,DC=our,DC=domain,DC=com))"
ldap_ufilter: "(&(objectClass=user)(sAMAccountName=%u))"
ldap_filter: ""
ldap_group_cache_validity: 60
ldap_user_cache_validity: 60
ldap_auth_check: off
Спасибо и всего наилучшего.
Моя конфигурация mod_shared_roster_ldap:
mod_shared_roster_ldap:
ldap_base: "DC=domain,DC=local"
ldap_rfilter: "(&(objectCategory=group)(info=jabber))"
ldap_gfilter: "(&(objectCategory=group)(info=jabber)(distinguishedName=%g))"
ldap_groupattr: "distinguishedName"
ldap_groupdesc: "displayName"
ldap_memberattr: "member"
ldap_memberattr_format_re: "CN=([^,]*),(OU=.*,)*DC=domain,DC=local"
ldap_ufilter: "(&(objectCategory=user)(sAMAccountName=%u))"
ldap_useruid: "sAMAccountName"
ldap_userdesc: "displayName"
ldap_filter: "(|(objectClass=group)(objectClass=user))"
Gfilter ищет группы, найденные в rfilter. Ldap_memberattr выполняет поиск члена каждой группы. Уловка заключается в ldap_memberattr_format_re. Это регулярное выражение, ищущее значение в элементе управления CN = *, OU ...... Ejabberd, если пользователь находит в gfilter на виртуальном хосте, а в моей части конфигурации ldap я фильтрую пользователя по sAMAccountName. Поэтому нам нужно сопоставить регулярное выражение со значением sAMAccountName.
Надеюсь, это поможет кому-нибудь :)