SugarCRM - Не удается войти в систему с помощью LDAP после смены пароля
Мы используем SugarCRM Community Edition 5.2.0f (сборка 5688, работающую на OpenSuSE 11.1) и настроили LDAP, чтобы пользователи могли войти в систему со своими учетными данными AD, связавшись с нашим DC (Server 2008).
У нас проблема с парой пользователей; они недавно (около недели назад) сменили свои пароли AD и теперь не могут войти в Sugar. Другие пользователи по-прежнему могут выполнять вход в систему LDAP, и если я задаю пароли проблемных пользователей вручную, они также могут войти в систему, но LDAP просто не хочет знать о них. Я получаю следующее в журнале, когда они пытаются:
Mon Sep 21 16:16:16 2009 [17854][-none-][FATAL] [LDAP ERROR][1]Operations error
Mon Sep 21 16:16:16 2009 [17854][-none-][FATAL] SECURITY: ldapauth: failed LDAP bind (login) by user@domain, could not construct bind_user
Mon Sep 21 16:16:16 2009 [17854][-none-][FATAL] SECURITY: User authentication for user@domain failed
Mon Sep 21 16:16:16 2009 [17854][-none-][FATAL] SECURITY: User authentication for user@domain failed
Mon Sep 21 16:16:16 2009 [17854][-none-][FATAL] FAILED LOGIN:attempts[1] - user@domain
У кого-нибудь есть идеи, что здесь может происходить? Существуют ли какие-либо ограничения на допустимый пароль - длину, наличие специальных символов и т. Д.? Я знаю, что новый пароль пользователя оканчивается одинарной кавычкой, которая является разделителем SQL, но я предполагал, что код входа в систему будет корректно экранирован.
2 ответа
Неважно, я решил это; проблема в пароле пользователя Tcpdump данных LDAP показывает, что одиночная кавычка экранируется до "& # 039;", а DC совершенно справедливо говорит "нет". Учитывая возможность заставить пользователя изменить свой пароль или изучить достаточно PHP для отладки сценария входа в систему, я думаю, что я остановлюсь на первом.
Также я только что узнал, что это известная ошибка - # 24923, если кому-то интересно.
Решение, которое я использовал, состояло в том, чтобы установить сервер как ldap:// и использовать порт 3268 ..
Server: ldap://ldap.example.com
Port: 3268
Base DN: ou=People,dc=example,dc=com
Bind Attribute: uid
Login Attribute: sAMAccountName
Auth User: serviceaccount
Auth Pass: serviceaccountpassword
Надеюсь, что это полезно для кого-то.