InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.2 関数インタフェース | > 5.2.4 InfoDirectoryサーバとのユーザ認証 |
この関数は、InfoDirectoryサーバに対して、非同期型の証明書ベースの認証を要求します。【指定形式】
int ldap_sasl_bind(
LDAP *ld,
char *dn,
char *mechanism,
struct berval *cred,
LDAPControl **ServerCtrl,
LDAPControl **ClientCtrl,
int *msgid
);【パラメタの説明】
- ld
ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
- dn
BINDするためのDNのアドレスを指定します。証明書ベースの認証ではDNの指定は不要なため、このパラメタにはNULLを指定してください。
- mechanism
認証方法の指定を行います。証明書ベースの認証を行う場合には、LDAP_SASL_EXTERNALを指定してください。
- cred
任意の証明書データを指定します。証明書ベースの認証では、ldapssl_init()で証明書データが取得されるので不要になります。このパラメタには、NULLを指定してください。
- ServerCtrl
サーバコントロールのアドレスを指定したポインタ配列のアドレスを指定します。サーバコントロールを使用しない場合は、このパラメタにNULLを指定します。ここで指定したサーバコントロールは、InfoDirectoryサーバへの検索要求に添付されます。
- ClientCtrl
クライアントコントロールのアドレスを設定したポインタ配列のアドレスを指定します。ただし、本ライブラリではクライアントコントロールをサポートしていないため、このパラメタにはNULLを指定します。
- msgid
メッセージIDを格納するための変数のアドレスを指定します。
【復帰値】
この関数では、復帰値としてLDAPエラーコードを返します。
- 正常完了の場合 : LDAP_SUCCESS(※)
- 異常完了の場合 : LDAP_SUCCESS 以外のLDAPエラーコード
※LDAP_SUCCESSが返る場合は、通常のLDAP_SUCCESS(処理が正常に終了)とは意味が異なります。ldap_sasl_bind()でLDAP_SUCCESSが返された時点ではBIND操作の結果は判定できず、後述の「非同期関数の結果獲得」処理を行うことによりBIND操作の結果を判定できます。
【注意事項】
- 非同期関数の結果獲得
BIND操作のresult情報を受取る場合、ldap_result()を使用します。この時、ldap_sasl_bind()のパラメタで返されたメッセージIDを指定します。詳細は、処理結果の受取り/判定を参照してください。
- LDAPエラーコード
LDAPエラーコードの値については、LDAPエラーコードを参照してください。
- セションの初期化
この関数を使用して証明書ベースの認証を行う場合には、必ずldapssl_init()でセションの初期化を行う必要があります。ldapssl_init()については、セションのオープン/初期設定を参照してください。
目次 索引 |