InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.2 関数インタフェース | > 5.2.2 セションのオープン/初期設定 |
この関数は、SSLを使用しない環境で、LDAPのセションをオープンします。【指定形式】
LDAP *ldap_init(
char *hostname,
int portno
);【パラメタの説明】
- hostname
InfoDirectoryサーバのホスト名、またはIPアドレスを示す文字列のアドレスを指定します。ホスト名やIPアドレスは、空白で区切って複数指定することができます。複数の相手ホストが指定された場合、コネクションを確立する際に指定された順番で接続を試みて、接続に成功した最初のホストと通信を行います。
- portno
InfoDirectoryサーバのポート番号を指定します。デフォルトのLDAPポートを使用する場合は、ポート番号に0を指定します。デフォルトのポート番号はLDAP_PORT“389”です。
【復帰値】
正常完了の場合には、復帰値としてセションハンドルを返します。セションハンドルは、獲得したLDAP構造体へのポインタです。異常完了の場合には、復帰値としてNULLを返します。この場合、以下の状況が考えられます。
- LDAP構造体用のメモリが獲得できないなど、システムの資源が不足した。
- トレースを取得している場合には、トレースファイルのバックアップに失敗した。
【注意事項】
- セションハンドル
これ以降に呼出す関数は、ここで取得したセションハンドルをパラメタに指定します。セションハンドルは、そのセションをクローズするまで有効です。
- 簡易認証について
DNを使用した簡易認証を行う場合、認証はDNとパスワードを使用して行われます。この場合、DNによる簡易認証とSSLによる安全にされていない通信が行われます。簡易認証については、ディレクトリサーバとのユーザ認証を参照してください。
- セションの共用について
オープンした1つのセションを複数のスレッドで共有し、各スレッドからLDAP要求を行うことはできません。スレッドを使用しLDAP要求を行う場合、各スレッドでldap_init()を呼び獲得したセションを使用し、それぞれのスレッドからLDAP要求を行ってください。
- 複数ホストの指定について
複数のホストを指定した場合は、1つ目のホストに対してCONNECTを行いソケットレベルで接続できない場合にのみ、2つ目以降のホストに対して接続を試みます。したがって以下のような場合には利用できません。
- 複数指定したホスト上に作成されているDSAの中から、起動しているDSAに対して接続する。
(1つ目のホストに接続してDSAが起動していなければ2つ目のホストのDSAに接続を試みる。)上記のようなDSA起動レベルの要件を満たすには、DSA起動確認(ldap_simple_bind()/ldap_simple_bind_s()の結果確認)を行うようにAPIを使用してアプリケーション側で対応してください。
目次 索引 |