InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.1 クライアントAPIライブラリの機能 | > 5.1.11 リフェラル機能 |
リフェラル先のInfoDirectoryサーバへ接続するときに、認証情報を指定できます。認証情報とは、InfoDirectoryサーバに接続するときに使用するBINDのDNとパスワードです。アプリケーションプログラムが、本機能で設定した認証情報と、リフェラル先のInfoDirectoryサーバが動作するホスト名、およびポート番号が一致した場合、指定されたBINDのDNとパスワードで認証します。認証情報を指定しない場合、リフェラル先InfoDirectoryサーバに対して、アノニマスで接続されます。リフェラルの自動追跡を行わない場合、本機能は使用できません。
指定方法
リフェラル先のInfoDirectoryサーバへの認証情報を設定する場合、セションハンドルオプションLDAP_OPT_REFERRAL_REBINDの値として、リフェラル先のInfoDirectoryサーバで使用する認証情報を指定したLDAPRefBind構造体のアドレスを指定します。LDAPRefBind構造体の領域は、自動的に解放されません。領域が不要になった時点でメモリを解放してください。
認証情報の複数指定
リフェラル先のInfodDirectoryサーバが複数ある場合、それぞれのサーバに対する認証情報を設定できます。複数の認証情報を指定する場合、各サーバ毎にLDAPRefBind構造体を設定して、アドレスをリンクします。どの認証情報を使用するかは、構造体のホスト名とポート番号により識別されます。複数の構造体に同じホスト名とポート番号が指定されている場合、最初にリンクされている値が有効になります。この構造体で指定可能な認証情報は、DNとパスワードのみです。証明書ベースの認証情報は、指定できません。
【形式】
typedef struct ldaprefbind {
char *hostname;
int portno;
char *dn;
char *mechanism;
SSLENV *sslenv;
struct berval *cred;
struct ldaprefbind *ldaprefbindchin;
char reserve[32];
} LDAPRefBind;【構造体メンバの説明】
- hostname : この認証情報を使用するInfoDirectoryサーバが動作するホスト名。複数のホスト名を空白で区切って指定することはできません。
- portno : この認証情報を使用するInfoDirectoryサーバのポート番号
- dn :認証に使用するDN(例:cn=admin)
- mechanism : 未使用域(将来使用するために保持している領域です)
- sslenv : 未使用域(将来使用するために保持している領域です)
- cred : 認証に使用するパスワード
- ldaprefbindchin : 次の認証情報のアドレス(次の認証情報がない場合は、NULL文字列を指定します)
- reserve : 未使用域(将来使用するために保持している領域です)
注意事項
アプリケーションプログラムが認証情報を設定しても、以下の場合、InfoDirectoryサーバに対してアノニマスで認証されます。
目次 索引 |