SugarCRM - 密码更改后无法使用 LDAP 登录

SugarCRM - 密码更改后无法使用 LDAP 登录

我们正在使用 SugarCRM 社区版 5.2.0f(在 OpenSuSE 11.1 上运行的 Build 5688),并设置了 LDAP 内容,以便用户可以通过联系我们的 DC(Server 2008)使用他们的 AD 凭据登录。

我们遇到了几个用户的问题;他们最近(大约一周前)更改了 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 分隔符,但我认为登录代码会正确地转义它。

答案1

没关系,我已经搞清楚了;问题出在用户的密码上。LDAP 数据的 tcpdump 显示单引号被转义为“'”,而 DC 非常正确地说“不”。如果要让用户更改密码或学习足够的 PHP 来调试登录脚本,我想我会选择前者。

另外,我刚刚发现这是一个已知的错误 -#24923,如果有人感兴趣的话。

答案2

我使用的解决方案是将服务器设置为 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

希望这对某人有帮助。

相关内容