ejabberd и LDAP - не дружит :(

Здравствуйте. Помогите пожалуйста подружить ejabberd и ldap (microsoft ad server).

В конфиге касаемо ldap'a:

%% Authentication using LDAP
{auth_method, ldap}.

%% List of LDAP servers:
{ldap_servers, ["192.168.21.5"]}.
%% Encryption of connection to LDAP servers (LDAPS):
{ldap_encrypt, none}.
%%{ldap_encrypt, tls}.
%% Port connect to LDAP server:
%%{ldap_port, 389}.
%%{ldap_port, 636}.
%% LDAP manager:
{ldap_rootdn, "cn=admin,cn=Users,dc=rlx,dc=roslexis,dc=ru"}.
%% Password to LDAP manager:
{ldap_password, "Pa$$word"}.
%%{ldap_password, "******"}.
%% Search base of LDAP directory:
{ldap_base, "dc=rlx,dc=roslexis,dc=ru"}.
{ldap_uidattr, "sAMAccountName"}.
%% LDAP attribute that holds user ID:
%%%%%%%{ldap_uids, [{"mail", "%u@site.ru"}]}.
%% LDAP filter:
%%{ldap_filter, "(objectClass=shadowAccount)"}.

В логах сервера:

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.265.0>:eldap:675) : {searchRequest,
                          {'SearchRequest',"dc=rlx,dc=roslexis,dc=ru",
                           wholeSubtree,neverDerefAliases,0,0,false,
                           {equalityMatch,
                            {'AttributeValueAssertion',"mail",
                             "admin@site.ru"}},
                           ["mail"]}}

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.265.0>:eldap:746) : {searchResRef,
                             ["ldap://ForestDnsZones.rlx.roslexis.ru/DC=ForestDnsZones,DC=rlx,DC=roslexis,DC=ru"]}

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.265.0>:eldap:746) : {searchResRef,
                             ["ldap://DomainDnsZones.rlx.roslexis.ru/DC=DomainDnsZones,DC=rlx,DC=roslexis,DC=ru"]}

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.265.0>:eldap:746) : {searchResRef,
                             ["ldap://rlx.roslexis.ru/CN=Configuration,DC=rlx,DC=roslexis,DC=ru"]}

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.265.0>:eldap:746) : {searchResDone,
                             {'LDAPResult',success,[],[],asn1_NOVALUE}}

=INFO REPORT==== 2012-08-20 18:14:10 ===
I(<0.388.0>:ejabberd_c2s:598) : ({socket_state,tls,{tlssock,#Port<0.1999>,#Port<0.2001>},<0.387.0>}) Failed authentication for admin@jaldap

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.388.0>:ejabberd_c2s:1456) : Send XML on stream = <<"<failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><not-authorized/></failure>">>

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.387.0>:ejabberd_receiver:320) : Received XML on stream = "</stream:stream>"

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.387.0>:shaper:61) : State: {maxrate,1000,997.3914377781188,
                                    1345472050537470}, Size=16
M=15.958371594735231, I=204.636

=INFO REPORT==== 2012-08-20 18:14:10 ===
D(<0.388.0>:ejabberd_c2s:1456) : Send XML on stream = "</stream:stream>"

А логах обращений виндового сервера ldap - ничего... ЧТЯДНТ?

рабочий {auth_method,

рабочий
{auth_method, ldap}.
{ldap_servers, ["pdc.domain.local"]}. \\\там где находится сама база!?
{ldap_uids, [{"userPrincipalName", "%u@domain.local"}]}.
{ldap_base, "dc=domain,dc=local"}.
{ldap_rootdn, "jadmin@domain.local"}. \\\админ домена
{ldap_password, "1q2w3E"}.

Что это за ldap_uidattr??? И

Что это за ldap_uidattr???

И обратите внимание, что ldap_rootdn не обязан быть "админом". Единственная привелегия, которой он должен обладать - это запросы к LDAP.

mikekaganski wrote: Что это

mikekaganski wrote:

Что это за ldap_uidattr???

И обратите внимание, что ldap_rootdn не обязан быть "админом". Единственная привелегия, которой он должен обладать - это запросы к LDAP.

запросы к LDAP то есть чтение AD а это не привилегии админа?

Нет. У меня работает обычный

Нет.
У меня работает обычный Domain User. И то только потому, что мне лень было делать особую группу с допиленными (урезанными) правами.

mikekaganski wrote: Нет. У

mikekaganski wrote:

Нет.
У меня работает обычный Domain User. И то только потому, что мне лень было делать особую группу с допиленными (урезанными) правами.

счастливчик)) a mod_shared_roster_ldap работает у тебя?

Да. Вообще-то я его и

Да. Вообще-то я его и допиливаю: https://support.process-one.net/browse/EJAB-1480

mikekaganski wrote: Да.

mikekaganski wrote:

Да. Вообще-то я его и допиливаю: https://support.process-one.net/browse/EJAB-1480

О вот кого я так долго искал :-) сразу и не заметил что это ты :-)

и авторизация через ntlm работает?

tm wrote: и авторизация через

tm wrote:

и авторизация через ntlm работает?

Нет. Я всё жду выхода релиза третьей версии. Там вшит GSSAPI/Kerberos, так что появится возможность организовать SSO на клиентах, которые это могут. NTLM я не делал.

mikekaganski wrote: tm

mikekaganski wrote:
tm wrote:

и авторизация через ntlm работает?

Нет. Я всё жду выхода релиза третьей версии. Там вшит GSSAPI/Kerberos, так что появится возможность организовать SSO на клиентах, которые это могут. NTLM я не делал.

то есть на данный момент реализации по встроенной аутентификации нет?

У меня - нет.

У меня - нет.

mikekaganski wrote: У меня -

mikekaganski wrote:

У меня - нет.

тогда в чём различие твоей разработки от другой??

mikekaganski wrote: У меня -

mikekaganski wrote:

У меня - нет.

а разница между твоей допилкой и старой версией?

Там всё написано. Я сейчас

Там всё написано. Я сейчас прикинул - там текста-то всего страниц на 70 формата А4 :) С обсуждениями и версиями.
Если серьёзно - там есть в самом верху ссылочка на пост, в котором подробно расписаны параметры нового модуля. Если что не понятно - задавайте конкретные вопросы.

Syndicate content