LDAP身份验证失败:凭据无效

LDAP身份验证失败:凭据无效,ldap,gforge,Ldap,Gforge,在Gforge中,当新用户尝试登录时;通过从LDAP获取数据自动注册用户。对于其他用户,它可以正常工作,但有一个特定用户无法登录,并出现错误LDAP身份验证失败:凭据无效。我不明白会有什么问题?你能帮忙吗? 这是我正在使用的搜索功能 ldap_bind($ldap, $dn, $pw) $dn = ldap_get_dn($ldap, $entry); $entry = ldap_first_entry($ldap,$res); $res=ldap_search($ldap, $sys_ldap

在Gforge中,当新用户尝试登录时;通过从LDAP获取数据自动注册用户。对于其他用户,它可以正常工作,但有一个特定用户无法登录,并出现错误LDAP身份验证失败:凭据无效。我不明白会有什么问题?你能帮忙吗? 这是我正在使用的搜索功能

ldap_bind($ldap, $dn, $pw)
$dn = ldap_get_dn($ldap, $entry);
$entry = ldap_first_entry($ldap,$res);
$res=ldap_search($ldap, $sys_ldap_base,$sys_ldap_id_attribute . '=' . $id,
               array());

如果它适用于某些用户,但不适用于某个特定用户,那么它与LDAP配置或该用户ID或pwd中的字符有关

  • 失败的用户是否在其他组织/OU中?他们的用户名或密码中有重音字符吗?这些事情可能会导致GForge和LDAP服务器之间的兼容性问题

  • 此用户的用户名是否比其他用户长得多?有一个名为“usernameregex”的GForge配置设置,用于控制允许用户名的复杂性和长度。尽管LDAP登录会导致自动创建帐户,但由于存在正则表达式,用户unix名称的验证可能会失败。发生这种情况时,上面提到的错误肯定是catch all消息

默认设置为“^[a-z0-9.-]{3,15}$”。您可以通过将15更改为其他值来更改长度上限。GForge数据库中的unix_name字段是文本,因此可能非常长(1GB?)

在GForge 6.3.x及更早版本中,您可以在/etc/GForge/GForge.conf中找到该设置。更改该值,然后使用以下命令更新系统:

cd/opt/gforge/bin&&php create\u config\u cache.php

在GForge 6.4及更高版本中,可以使用gf config实用程序设置该值。它将立即生效:


/opt/gforge/bin/gf config set“usernameregex”“new regex value”
ldap\u search()
不进行身份验证。它做搜索。问题还不清楚。我已经编辑了这个问题。您现在能理解吗?如果它适用于某些用户,但不适用于某个特定用户,那么它与LDAP配置或该用户ID或pwd中的字符有关。