Мы используем версию 5.2.0f сообщества SugarCRM (сборка 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, но я предполагал, что код входа в систему будет правильно избегать этого.
Решение, которое я использовал, заключалось в том, чтобы установить сервер как 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
Надеюсь, это кому-то поможет.