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