Сбой аутентификации 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());

1 ответ

Если это работает для некоторых пользователей, но не для одного конкретного пользователя, то это как-то связано с конфигурацией LDAP или с символами в идентификаторе этого пользователя или pwd.

  • Является ли отказавший пользователь в другой организации / подразделении? У них есть символы ударения в их имени пользователя или пароле? Эти вещи могут вызвать проблемы совместимости между GForge и сервером LDAP.

  • У этого пользователя гораздо более длинное имя пользователя, чем у других пользователей? Существует параметр конфигурации GForge под названием "usernameregex", который управляет сложностью и длиной разрешенных имен пользователей. Несмотря на то, что вход в систему LDAP приводит к автоматическому созданию учетной записи, проверка имени пользователя unix может завершиться неудачей из-за наличия регулярного выражения. Ошибка, отмеченная выше, безусловно, может быть сообщением об обнаружении, когда это происходит.

Значением по умолчанию является "^ [a-z0-9 _.-] {3,15} $". Вы можете изменить верхний предел длины, изменив 15 на что-то другое. Поле unix_name в базе данных GForge имеет значение TEXT, поэтому оно может быть очень длинным (1 ГБ?).

В 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"

Другие вопросы по тегам