首页 文章

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

提问于
浏览
0

在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());

1 回答

  • 0

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

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

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

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

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

    cd /opt/gforge/bin && php create_config_cache.php

    在GForge 6.4及更高版本中,您可以使用gf-config实用程序来设置值 . 它会马上生效:

    /opt/gforge/bin/gf-config set "usernameregex" "new regex value"

相关问题