2011-12-29 3 views
0

私はAD環境用のWebベースの管理システムを作成しました。現在、objectguidに基づいてディレクトリエントリを読み取ろうとする際に問題が発生しています。これは可能ですか? $ dnはCN =テスト、OU =グループ、DC = OCJ、DC =ドメイン、DC = ComのようなものであることでPHPでObjectGUIDに基づいてLDAPから読み取り

$filter = "(&(objectclass=*)(objectguid=$objectguid))"; 
$search = ldap_read($ds, $dn, $filter); 

は、私のような何かをすることができますよ。だから私はそれがguidを受け入れていることを知っていますが、私は$ dnの部分をスキップして、GUIDだけで読むことを望みます。

提案がありますか?私はldap_readがGUIDで直接読むことができるということを見つけることができません。

答えて

1

guidだけを読み取るには、返す属性を制御する3番目のパラメータを指定します。 2番目の$ dnパラメータは必須です。これは検索範囲を指定します。あまり具体的でない場合は、常にroot_dnに設定できます。

結果セット配列にdnエントリを必要としない場合、これはldap_read関数のAPIであるため直接できませんが、配列(マップ)をトラバースしてフィルタリングできます。

+0

私は既にGUIDを持っています。私は完全なDNや極端なベースDNを与えずに、GUIDだけに基づいてエントリを読み込もうとしています。したがって、DC = OCJ、DC =ドメイン、DC = Com、guid(これは私には何も与えません)によってフィルタリングされますが、すべての属性を取得します。 – dustinnewbold

+0

私はそれを得た。 ldap_readの代わりにldap_searchを使用しました。助けてくれてありがとう! – dustinnewbold

0

GUIDでもバインドできます。あなたの$ dnを<GUID={guid-goes-here}>に設定してください。

+0

??? - これは未完成のように見える –

+0

固定されている - 私がそれをエスケープするまで、サイトは山括弧で物を表示していないようです。 –

関連する問題