私はこの問題を抱えていますが、gidの属性のみを与えるLDAP検索でLDAPでユーザーを選択しています。Ldapからグループ名を検索する
$ldapattributes = array("gidnumber");
$ldapdn = "o=example";
$ldapfilter = "(sn=".$ldapuname."*)";
$ldapbind = ldap_bind($ldapconn, $ldapuname, $ldappass) or trigger_error('Could not bind to '.$ldaphost);
$sr = ldap_search($ldapconn,$ldapbasedn,$ldapfilter,$ldapattributes);
var_dump($sr);
$entry = ldap_get_entries($ldapconn, $sr);
var_dump($entry);
iはvardumpから得る結果は:
'のgidNumber' => アレイ 'カウント' => INT 1 0 =>文字列 '1617'(長さ= 4)
私が知りたいと思うグループに正しくマップされている数字は分かっていますが、「ConfSer」と書かれているテキストが好きです。私はこれがどこであるか、または特定のグループの名前と情報を取得するためにgidを別のフィルタに変える方法を知ることができませんでした(したがって、アクセス権を吐き出す設定ファイルを通して経路指定できます)。
EDIT:「CN = Ldaptst2 Majtst、O = example」も結果に表示されます。しかし、どちらも実際にグループではありません...まさに名前です。
? posix_getgrgid(そして他のposix_get *関数)を使うことができます。そうしないと、別のLDAPクエリを実行してgid番号をグループ名にマッピングする必要があります。時には(openldapなど)、特別なオーバーレイを使用して単一のクエリでグループ名を与えることができます。 – kupson