LinuxForum.Fans
Тема

eJabberd + Microsoft LDAP

Автор: scotch 2 сообщений 2478 просмотров
#148786

Добрый день.

Нужна помощь, был настроен и запущен ejabberd сервер внутри одной из сетей. при использовании обычной авторизации все отлично работает.
После появилась задача интеграции с AD в windows 2003. Пришлось немного повозиться, в итоге получилось, наладить связь, т.е ejabberd запускается, коннектится к LDAP под админом, и работает.

При попытке подключения к существующей на сервере учетной записи, в логах

text
I(<0.278.0>:eldap:967) : LDAP connection on ctwin1.ru:389

=INFO REPORT==== 2011-04-05 22:22:17 === I(<0.37.0>:ejabberd_app:72) : ejabberd 2.1.5 is started in the node ejabberd@debian

=INFO REPORT==== 2011-04-05 22:22:39 === I(<0.456.0>:ejabberd_listener:232) : (#Port<0.1960>) Accepted connection {{192,168,1,12},54661} -> {{192,168,1,37},5222}

=INFO REPORT==== 2011-04-05 22:22:40 === I(<0.460.0>:ejabberd_c2s:598) : ({socket_state,tls,{tlssock,#Port<0.1960>,#Port<0.1982>},<0.459.0>}) Failed authentication for chupikaid@ctwin1.ru

когда указывается запись несуществующая, или меняется имя пользователя, в настройках подключения к Ldap, в логах либо выводит что пользователя не существует, либо ошибки при подключении к Ldap другими словами связь есть, но работает некорректно.

приведу части конфигураций в которые вносились изменения т.к файлы с комментами очень большие.

text
%% Hostname
{hosts, ["localhost", "ctwin1.ru"]}.

{auth_method, ldap}. %% %% List of LDAP servers: {ldap_servers, ["ctwin1.ru"]}. %% %% 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,OU=malinina,dc=ctwin1,dc=ru"}. %% %% Password to LDAP manager: {ldap_password, "password"}. %% %% Search base of LDAP directory: {ldap_base, "ou=malinina,ou=users,dc=ctwin01,dc=ctwin1,dc=ru"}. %% %% LDAP attribute that holds user ID: {ldap_uids, [{"sAMAccountName"}]}.

{access, register, [{allow, all}]}.

%% Search base of LDAP directory: - в этом параметре указывался как просто сервер, так и с OU и без, разницы нету.

В чем может быть проблема авторизации ?

%% LDAP attribute that holds user ID: - также заменялся на различные варианты {ldap_uids, [{"uid","%u"}]}, ldap_uids, [{"userPrincipalName", "%u@mydomain.local"}]}

#149019

В параметре %% Search base of LDAP directory:
{ldap_base, "ou=malinina,ou=users,dc=ctwin01,dc=ctwin1,dc=ru"}. я задавал полный пусть к контроллеру - ctwin01, надо было его не указывать. решил просмотром логов в режиме debug, запрос уходил от ctwin1.ru, а result от ctwin01.ctwin1.ru.

Войдите или зарегистрируйтесь, чтобы ответить.