![]() |
iPlanet Calendar Server プログラマリファレンス |
第 7 章 プロキシ認証 SDK リファレンス
この章では、iPlanet Calendar Server 5.0 のプロキシ認証 SDK (authSDK) API について説明します。この章は、プロキシ認証 SDK 関数と authSDK の使い方の 2 つの部分に分かれています。
プロキシ認証 SDK 関数のリスト
authSDK には、次の 5 つの関数があります。
CEXP_GenerateLoginURL
CEXP_GetVersion
- 有効なセッション ID を含む URL を生成します。
CEXP_Init
- バージョン ID 文字列を生成します。
CEXP_SetHttpPort
- SDK を初期化します。
CEXP_Shutdown
- カレンダーサーバとの接続に使用するポート番号を指定します。
- メモリの解放、接続の解除を含む、すべてのシャットダウン手順を実行します。
authSDK は、5 つの 関数で構成されています。次のリストは、使用する順序ではなくアルファベット順に関数を並べたものです。関数の使用方法については、この章の「authSDK の使い方」を参照してください。
CEXP_GenerateLoginURL
目的
特定のユーザの有効なセッション ID を含むログイン URL を返します。
構文
int CEXP_GenerateLoginURL (char * pszUser,
char * pszClientAddress,
char * pszCalendarHost,
char * pszURL);
戻り値
成功した場合は 0、失敗した場合は -1。成功した場合は、pszURL バッファに有効な URL 文字列が格納されます。
[「プロキシ認証 SDK 関数」に戻る]
[第 7 章の先頭に戻る]
構文
char * CEXP_GetVersion(void);
[「プロキシ認証 SDK 関数」に戻る]
[第 7 章の先頭に戻る]
構文
int CEXP_Init (char * pszLdapHost,
char * pszLdapMatchAttrib,
char * pszLdapDN,
unsigned int iLdapPort,
char * pszLdapBindUser,
char * pszLdapBindPass,
char * pszAdminUser,
char * pszAdminPassword);
パラメータ
次の 8 つのパラメータがあります。
pszLdapHost
pszLdapMatchAttrib
pszLdapDN
ユーザレコードの検索に使用するベース DN の文字列。「DN」(Distinguished Name、識別名) は、LDAP ディレクトリエントリの名前と場所の文字列表現
iLdapPort
pszLdapBindUser
pszLdapBindPass
pszAdminUser
pszAdminPassword
コメント
バインド DN とパスワードが NULL の場合は、匿名 (anonymous) 検索が行われます。
[「プロキシ認証 SDK 関数」に戻る]
[第 7 章の先頭に戻る]
目的
カレンダーサーバとの接続に使用する HTTP ポート番号を設定します。
構文
void CEXP_SetHttpPort (int iHttpPort);
パラメータ
次の 1 つのパラメータがあります。
iHttpPort
[「プロキシ認証 SDK 関数」に戻る]
[第 7 章の先頭に戻る]
目的
SDK の使用後、すべてのグローバルメモリを整理し、接続を解除し、ほかのクリーンアップ関数を実行します。
コメント
SDK を使用しているすべてのスレッドが完了するまではこの関数を呼び出さないでください。
[「プロキシ認証 SDK 関数」に戻る]
[第 7 章の先頭に戻る]
authSDK の使い方
authSDK をインストールに実装するには、次の手順に従います。
authSDK をコードにリンクします。
ポータルの認証プログラムを使ってユーザを認証します。
- authSDK を既存のコードに統合するには、呼び出し元のコードに expapi.h ヘッダーファイルをインクルードし、DLL/共有オブジェクトとリンクします。プラットフォームによっては、ほかのシステムライブラリとのリンクも必要になる場合があります。
CEXP_Init を呼び出します。
オプションで、CEXP_SetHttpPort を呼び出します。
- この関数は、authSDK 設定情報を初期化します。この呼び出しは、ほかの authSDK 関数を呼び出す前に行う必要があります。
CEXP_GenerateLoginURL を呼び出します。
- デフォルトでは、authSDK は標準の HTTP ポート 80 を使用します。セッション生成の接続の際に、authSDK が標準以外のポートを使用するように指定する場合は、この関数を使用します。
- この関数は、スレッドに対して安全ではなく、グローバル値を設定します。この関数をスレッド環境で使用する場合は、この呼び出しと CEXP_GenerateLoginURL の呼び出しをロックする必要があります。
オプションで、CEXP_Shutdown を呼び出します。
- この関数は、ユーザおよびクライアントの IP アドレスに対するセッションハンドルを生成し、Calendar Server への接続時に使用されるログイン URL を含む文字列を、割り当てられたバッファに返します。この文字列は、識別情報としての一種のトークンです。このトークンは、HTTP ヘッダーまたは JavaScript を通じて cookie または URL の形式でクライアントに提供されます。クライアントは、識別情報としてこのトークンを提示して、Calendar Server に接続します。
- authSDK で使用されているリソースのクリーンアップおよびシャットダウンを行う場合は、この関数を呼び出します。簡易 CGI ログインなどの一部の環境では、この関数を呼び出す必要はありませんが、API を使用するプラグインでは、リソースを再生して実行を続ける場合があります。
その他のヒント
AuthSDK を確実に使用するには、次の設定が必要です。
ics.conf ファイルの service.http.allowadminproxy の値を「yes」にする必要があります。
init メソッドに渡すパラメータ caladmin を、ics.conf ファイルの service.admin.calmaster.userid と同じ値にする必要があります。
init メソッドに渡すパラメータ calpass を、ics.conf ファイルの service.admin.calmaster.cred と同じ値にする必要があります。
2 つのパラメータ caladmin および calpass は、ディレクトリサービスで定義されている必要があります。
カレンダーサーバがデフォルトのポート 80 で待機していない場合は、SetHttpPort メソッドで適切なポート番号を指定する必要があります。
前へ 目次 索引 DocHome 次へ
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.
Last Updated June 04, 2001