Здравствуйте.
Есть сервер ejabberd. Он держит несколько доменов domain1.ru, domain2.ru и т.д. Есть контроллер домена под win2008 server, в котором хранятся пользователи. У каждого пользователя есть поле userPrincipalName, в котором хранится его имя пользователя и домен (, ). У меня без проблем получается разрешить логон этим пользователям с использованием этого поля
%% LDAP attribute that holds user ID:
{ldap_uids, [{"userPrincipalName", "%u@domain1.ru"}, {"userPrincipalName", "%u@domain2.ru"} ]}.Но мне не удаётся получить общий список контактов (Shared roster) из ldap, в котором будут отображаться пользователи всех доменов.
Если использовать подобный конфиг:
{mod_shared_roster_ldap, [
{ldap_servers, ["192.168.0.14"]},
{ldap_base, "DC=profit,DC=local"},
{ldap_rfilter, "(&(objectClass=user)(cn=*))"},
{ldap_gfilter, "(&(objectClass=user)(cn=*)(department=%g))"},
{ldap_groupattr, "department"},
{ldap_groupdesc, "department"},
{ldap_memberattr, "sAMAccountName"},
{ldap_ufilter, "(&(objectClass=user)(sAMAccountName=%u))"},
{ldap_useruid, "sAMAccountName"},
{ldap_userdesc, "cn"}
%{ldap_auth_check, "off"}
]},То подключившись под пользователем мы получим абсолютно всех пользователей в списке с domain1.ru. Параллельно подключившись с получим тот же список, но только все пользователи domain2.ru.
По сути нужен общий ростер для различных доменов.