前へ 目次 索引 DocHome 次へ |
iPlanet Calendar Server 5.1 プログラマーズマニュアル |
第 4 章 プロキシ認証 SDK リファレンス
この章では、iPlanet Calendar Server プロキシ認証 SDK (authSDK) API について説明します。この章は、プロキシ認証 SDK 関数とauthSDK の使用方法の 2 つの部分に分かれています。
プロキシ認証 SDK 関数のリスト
authSDK には、次の 5 つの関数があります。
CEXP_GenerateLoginURL
CEXP_GetVersion
- 有効なセッション ID を含む URL を生成します。
CEXP_Init
- バージョン ID 文字列を生成します。
CEXP_SetHttpPort
- SDK を初期化します。
CEXP_Shutdown
- Calender Server との接続に使用するポートを指定します。
- メモリの解放、接続のシャットダウンなど、シャットダウンのすべての手順を実行します。
authSDK は 5 つの関数で構成されています。次のリストは、使用する順序ではなくアルファベット順に関数を並べたものです。関数の使用方法については、この章のauthSDK の使用方法を参照してください。
CEXP_GenerateLoginURL
目的
特定のユーザの有効なセッション ID を含むログイン URL を返します。
構文
int CEXP_GenerateLoginURL (char * pszUser,
char * pszClientAddress,
char * pszCalendarHost,
char * pszURL);
戻り値
成功した場合は 0、失敗した場合は -1。成功した場合は、pszURL バッファに有効な URL 文字列が格納される。
構文
char * CEXP_GetVersion(void);
構文
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 (pszLdapBindUser) とパスワード (pszLdapBindPass) が NULL の場合は、匿名検索が試行されます。
目的
Calender Server との接続に使用する HTTP ポートを設定します。
構文
void CEXP_SetHttpPort (int iHttpPort);
目的
ユーザが SDK の使用を終了した時、すべてのグローバルメモリをクリーンナップし、接続をシャットダウンし、他のクリーンナップを機能させます。
コメント
この関数は、SDK を使用するすべてのスレッドが完了するまで呼び出さないでください。
authSDK の使用方法
システムに authSDK を実装するには、次の手順に従います。
authSDK をコードにリンクします。
ポータルの認証プログラムを使用してユーザを認証します。
- authSDK を既存のコードに統合するには、呼び出し元のコードに expapi.h ヘッダーファイルを組み込み、DLL/共有オブジェクトと接続します。プラットフォームによっては、他のシステムライブラリとの接続も必要になる場合があります。
CEXP_Init を呼び出します。
オプションで、CEXP_SetHttpPort を呼び出します。
- この関数は、authSDK 設定情報を初期化します。この呼び出しは、他の authSDK 関数を呼び出す前に行う必要があります。
CEXP_GenerateLoginURL を呼び出します。
- デフォルトでは、authSDK は標準の HTTP ポート 80 を使用します。接続してセッションを生成する際に、authSDK が標準以外のポートを使用するように指定する場合は、この関数を使用します。
- この関数は、スレッドセーフではなく、グローバル値を設定します。この関数をスレッド環境で使用する場合は、この呼び出しと CEXP_GenerateLoginURL 呼び出しをロックする必要があります。
オプションで、CEXP_Shutdown を呼び出します。
- この関数は、ユーザおよびクライアントの IP アドレスのセッションハンドルを生成し、iPlanet Calendar Server への接続時に使用するログイン URL を含む文字列を、割り当てられたバッファに返します。この文字列は、識別情報を証明する一種のトークンです。このトークンは、HTTP ヘッダーまたは JavaScriptTM を通じて cookie または URL の形式でクライアントに提供されます。クライアントは、識別情報の証明としてこのトークンを提示して、iPlanet 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 は、ディレクトリサービスで定義されている必要があります。
Calender Server がデフォルトのポート 80 で待機しない場合は、適切なポート値で SetHttpPort メソッドを使用する必要があります。
前へ 目次 索引 DocHome 次へ
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.
最終更新日: 2002 年 1 月 30 日