InfoDirectory SDK 使用手引書 |
目次
索引
![]() ![]() |
第2章 アプリケーション開発環境(LDAP C API) | > 2.2 関数インタフェース | > 2.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構造体用のメモリが獲得できないなど、システムの資源が不足した。
- トレースを取得している場合には、トレースファイルのバックアップに失敗した。
【注意事項】
- セションハンドル
ldap_init()以降に呼び出す関数は、ここで取得したセションハンドルをパラメタに指定します。セションハンドルは、セションをクローズするまで有効です。
- 簡易認証について
DNを使用した簡易認証をする場合、認証はDNとパスワードを使用して行われます。DNを使用した簡易認証の場合、DNによる簡易認証とSSLによる安全にされていない通信が行われます。簡易認証については、InfoDirectoryサーバとのユーザ認証を参照してください。
- セションの共用について
オープンした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を使用してアプリケーション側で対応してください。
目次
索引
![]() ![]() |