Назад | Перейти на главную страницу

Отображение OU из AD в mod_shared_roster_ldap

Имею тестовую установку в виртуальной среде - Win2008R2 Server в качестве контроллера AD; - Centos 7 + ejabberd 19.09 Я хочу отображать имена подразделений Active Directory. Структура OU в моем случае выглядит так:

[-] test.local
  [+] Builtin
  ...
  [-] ORG
    [-] GRP1
         deleted
        GRP2

где ORG, GRP1, удалено, GRP2 - подразделения, ORG имеет два дочерних подразделения (GRP1, GRP2), а GRP1 имеет дочерний элемент с именем «удаленный». В GRP1 есть пользователи u1g1 и u2g1, в GRP2 - u1g2 и u2g2. В каждом подразделении могут быть пользователи. Можно ли отобразить такую ​​древовидную структуру в общем списке с помощью модуля mod_shared_roster_ldap? Как в таком случае должен выглядеть ejabberd.yml? Теперь соответствующая часть моего конфигурационного файла ejabberd.yml выглядит так:

  mod_shared_roster_ldap:
    ldap_servers:
      - test1.test.local
    ldap_port: 389
    use_cache: false
    ldap_base: "OU=ORG,dc=test,dc=local"
    ldap_rfilter: "(objectClass=organizationalUnit)"
    ldap_gfilter: "(objectClass=*)"
    ldap_ufilter: "(objectClass=*)"
    ldap_groupattr: "name"
    ldap_memberattr: "name"
    ldap_groupdesc: "name"
    ldap_userdesc: "displayName"
    ldap_useruid: "sAMAccountName"
    cache_life_time: 3600
    ldap_auth_check: off

Клиенты Jabber (Miranda NG и Spark) отображают общий список с этой конфигурацией следующим образом:

[-] ORG
  grp1
  grp2
  org
  u1g1
  u1g2
  u2g1
  u2g2

где grp1, grp2, org - порядковые члены. Конечно, если я установлю «ldap_auth_check: on», члены grp1, grp2, org исчезнут из списка. Я потратил пару недель на чтение docs.ejabberd.im, но все еще не могу понять, что делаю неправильно, и до сих пор не могу понять логику фильтров и атрибутов в mod_shared_roster_ldap. Пожалуйста, помогите мне.