|
○ はじめに
ディレクトリサービスとは、キーを指定してそれに対応する情報を検索できるようなサービスの総称です。例えば、ユーザ名を指定してパスワードを取得したり、メールアドレスを取得したりするような検索を主目的としています。そのようなディレクトリサービスにアクセスするプロトコルの 1 つに LDAP と呼ばれるものがあります。
LDAP とは Lightweight Directory Access Protocol の略称で、2002/3/29 現在主流である大抵のディレクトリサーバに対して LDAP でアクセスすることができます ( ex. iPlanet Directory Server、Novell eDirectory、 Microsoft Acrive Directory、etc. ) 。これらのサービスにアクセスする LDAP クライアントとしては各サービスに付属するツールを使用するのが最も簡単ですが、そのようなツールは極めて汎用的に作られているため必ずしもそのまま使用できるとは限りません。
それならば好きなように作ってしまえ! ということで、本文書では Java 言語で LDAP クライアントを作成するための基礎知識について説明していきたいと思います。ただし、自分が LDAP クライアントの機能として思い付くことについてのみ書いていきますので、あまり分量は多くありません(^^;) また、LDAP そのものについては本文書では特に説明しません。LDAP 自身について解説したページは Web 上にたくさん公開されているので、そちらを探してみてください。
方針としては、LDAP プロトコルを一から実装するなどということはせずに、公開されている LDAP API クラスライブラリを使用します。ちなみに何故 Java かというと、C の API を使って書く気にとてもならなかったからというだけです ( Perl の LDAP モジュール PerLDAPも公開されてますので、それを使って書くというのは楽かもしれませんね )。
本文書へのリンクは御自由にどうぞ。本サイト内の文章に関して何かご意見などがありましたら、ページ最下部にあるアドレスまで、あるいはここからお願いします。なお、本文書において使用しているサンプルコードを tar 形式で圧縮したものをsrc.tar.gz として置いてます。展開して得られる各ソースコードは EUC で書かれています。このソースコードの使用に関しては、免責事項の記述を了承していただければ自由に使っていただいて構いません。
また、ソースコードを含めた文書全体のアーカイブ( tar 形式 )を jldap_doc.tar.gz として置いてます。こちらも EUC で書かれています。
○ 前堤環境
具体的に必要なソフトウェアについては次のJLDAP の導入で説明しますが、Java が実行できる環境であれば特に問題はありません。
ただし、サンプルプログラムを実行するために LDAP をサポートする何かしらのディレクトリサーバが必要です。ここでは説明しませんが、オープンソースの LDAP ディレクトリサーバとして OpenLDAP がありますので、これをインストールして起動させておけば LDAP クライアントの実験を好き勝手にできます。
○ 免責事項
本サイトで公開している内容については可能な限り正確を期する様に心掛けていますが、著者の知識不足から技術的な誤りもしくは不適切な表現や誤植を含む可能性があります。これらの内容を使用することによって生じる可能性のあるいかなる被害/損害に対して、著者は一切の責任を負えません。よって、ご利用になられる際はみなさん各自の責任で内容確認/動作確認を行って下さい。
○ 商標
- 本サイトの文書中に記載されている会社名や製品名は、一般に各社の商標または登録商標です。
- なお、本サイトの文書中では基本的に TM および R マークを明記していませんが、権利を侵害する意思や目的等は一切ありません。
○ 参考情報(文献、リンク)
- OpenLDAP
オープンソースの LDAP ディレクトリサーバ。本文書で使用している JLDAP というクラスライブラリはここから入手できます。
-
LDAP Classes for Java (Novell)
JLDAP の作成元である Novell のサイトです。JLDAP についての情報をいろいろ得ることが できます。Novell のサイトからもクラスライブラリをダウンロードすることはできますが、 こちらはオープンソースではありません。オープンソース版はあくまで上の OpenLDAP の CVS リポジトリから取得します。