0

Gforge では、新しいユーザーがログインしようとしたとき。ユーザーは、LDAP からデータをフェッチすることによって自動的に登録されます。他のユーザーには正常に機能しますが、特定のユーザーがログインできず、 LDAP Authentication failed: Invalid Credentials というエラーが発生します。何が問題なのかわかりませんか?助けていただけますか?私が使っている検索機能です。

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

1 に答える 1

0

一部のユーザーでは機能するが、特定の 1 人のユーザーでは機能しない場合は、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"

于 2016-10-15T15:48:05.907 に答える