このセクションでは、Net::LDAP モジュールを使用して、LDAP データにアクセスする方法について説明します。このモジュールは任意の Perl CPAN アーカイブから利用可能です。
このセクションでは、Perl の十分な知識があることを想定します。したがって、Perl または Net::LDAP モジュールのインストールについては説明しません。 この例は暗黙の保証または明示的な保証なしで提供されます。 CA は、Perl 言語または Net::LDAP Perl のモジュールのサポートを提供しません。
注: 行番号はコメントを表します(プログラムの一部ではありません)。
このプログラムは Democorp ディレクトリから Secretary という肩書きのあるエントリを抽出し、その名前と電話番号を出力します。
#!/usr/local/bin/perl -w
2
# This is a demonstration of accessing the Democorp directory using the
# Net::LDAP Perl modules
5 use strict;
7 use warnings;
8 use Net::LDAP;
10
11 my($ldap, $mesg, $entry);
12
13 $ldap = Net::LDAP->new('yourhost.com:19389') or die "Can't connect: $@";
14
15 # anonymous bind
16 $mesg = $ldap->bind;
17 if($mesg->is_error){
18 die "Bind error: ".$mesg->error;
19 }
20
21 # search for job title = "Secretary"
22 $mesg = $ldap->search(base => "o=Democorp,c=AU",
23 filter => "(title=Secretary)"
24 );
25 if($mesg->is_error){
26 die "Search error: ".$mesg->error;
27 }
28
29 foreach $entry ($mesg->entries) {
30
31 # report entry's common name (cn) and telephone number
32 print $entry->get_value('cn'), "\t",
33 $entry->get_value('telephoneNumber'), "\n";
34
35 }
36
37 print "Finished\n";
38
39 $ldap->unbind;
yourhost.com を Democorp ディレクトリがインストールされて実行されているマシンの名前に置換します。
これは匿名のバインドです。 DN またはパスワードは指定されていません。
常に、リクエストの結果を確認します。
クエリを実行し、エラーがないか確認します。
このループは検索によって見つかったエントリごとに実行されます。 この時点でエラーの可能性はありません。
見つかったエントリを出力します。 通常の場合、以下の出力を生成します。
Juliet LEVY524 3637
Craig LINK544 3697
Terry SALISBURY488 0288
Winifred LEWIS534 3657
Ian NATHAN437 8908
Cheryl APPLEBY498 0308
Finished
接続を閉じます。
| Copyright © 2012 CA. All rights reserved. | このトピックについて CA Technologies に電子メールを送信する |