2

LDAP エントリのDNがあります。私はそれを検索できることを知っています:次のようなことをします:

my $search = $ldap->search( 
    base => $dn, 
    scope => "base",
    filter => "(objectclass=*)",
);

しかし、私は検索を行う必要はありません。私はDNを持っています。単純に DN エントリを取得して、それに対して直接操作を実行したいだけです。このようなもの:

my $dn_entry = $ldap->get( $dn );

DN 文字列自体から DN エントリを取得する方法はありますか、またはDN 自体がわかっている場合でもエントリを検索する必要がありますか?

4

2 に答える 2

2

LDAP を使用すると、クライアントは常に検索するか、拡張操作を使用してデータを取得する必要があります。エントリに関連付けられたすべての属性に関心があり、DN がわかっている場合は、検索要求で次のパラメーターを使用します。

  • baseObject: 既知の DN
  • 検索範囲: ベース
  • フィルター:(&)または(objectClass=*)
  • 返される属性のリスト。一部の API は*、すべてのユーザー属性と+すべての操作属性に使用します。
于 2013-10-01T10:39:23.920 に答える
0

あなたが言っているように聞こえるのは、DNエントリ(Net::LDAP::Entryオブジェクト)ではなく「識別名」(文字列)を保存したということです。この場合、Net::LDAP::EntryDN から新しいオブジェクトを作成する必要があると思います。ドキュメントは、サーバーと同期せずにそのようなオブジェクトに操作を直接適用できることを示していますが、これは特定の DN のすべてのデータを提供しません。サーバーのデータが必要な場合は、 経由で取得する必要があります$ldap->search(...)

DN データをローカルに保存するNet::LDAP::LDIF メカニズムの使用を検討しましたか?

于 2013-09-30T16:45:55.187 に答える