前へ     目次     索引     DocHome     次へ     
iPlanet Calendar Server 5.1 プログラマーズマニュアル



第 4 章   プロキシ認証 SDK リファレンス


この章では、iPlanet 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

    メモリの解放、接続のシャットダウンなど、シャットダウンのすべての手順を実行します。



プロキシ認証 SDK 関数

authSDK は 5 つの関数で構成されています。次のリストは、使用する順序ではなくアルファベット順に関数を並べたものです。関数の使用方法については、この章のauthSDK の使用方法を参照してください。


CEXP_GenerateLoginURL


目的
特定のユーザの有効なセッション ID を含むログイン URL を返します。


構文
int CEXP_GenerateLoginURL (char * pszUser,
                           char * pszClientAddress,
                           char * pszCalendarHost,
                           char * pszURL);


パラメータ
次の 4 つのパラメータがあります。



pszUser  

ユーザ名を含む文字列  

pszClientAddress  

クライアントホスト IP アドレスを含む文字列  

pszCalendarHost  

Calender Server のホスト名 (IP アドレスではない) を含む文字列  

pszURL  

URL を配置するバッファのポインタ  


戻り値
成功した場合は 0、失敗した場合は -1。成功した場合は、pszURL バッファに有効な URL 文字列が格納される。


CEXP_GetVersion


目的
バージョン ID 文字列を取得します。


構文
char * CEXP_GetVersion(void);


パラメータ
パラメータはありません。


戻り値
バージョン ID文字列への参照。


CEXP_Init


目的
SDK を初期化します。


構文
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

 

バインドする DN を指定する文字列  

pszLdapBindPass

 

バインド DN のパスワードを含む文字列  

pszAdminUser

 

iPlanet Calendar Server 管理者の LDAP ユーザ ID を含む文字列  

pszAdminPassword

 

iPlanet Calendar Server 管理者のパスワードを含む文字列  


戻り値
成功した場合は 0、失敗した場合は -1


コメント
バインド DN (pszLdapBindUser) とパスワード (pszLdapBindPass) が NULL の場合は、匿名検索が試行されます。


CEXP_SetHttpPort


目的
Calender Server との接続に使用する HTTP ポートを設定します。


構文
void CEXP_SetHttpPort (int iHttpPort);


パラメータ
次のパラメータがあります。



iHttpPort

 

ポートを指定する整数  


戻り値
なし


CEXP_Shutdown


目的
ユーザが SDK の使用を終了した時、すべてのグローバルメモリをクリーンナップし、接続をシャットダウンし、他のクリーンナップを機能させます。


構文
int CEXP_Shutdown (void);


パラメータ
パラメータはありません。


戻り値
成功した場合は 0、失敗した場合は -1


コメント
この関数は、SDK を使用するすべてのスレッドが完了するまで呼び出さないでください。



authSDK の使用方法



システムに authSDK を実装するには、次の手順に従います。

  1. authSDK をコードにリンクします。

    authSDK を既存のコードに統合するには、呼び出し元のコードに expapi.h ヘッダーファイルを組み込み、DLL/共有オブジェクトと接続します。プラットフォームによっては、他のシステムライブラリとの接続も必要になる場合があります。

  2. ポータルの認証プログラムを使用してユーザを認証します。

  3. CEXP_Init を呼び出します。

    この関数は、authSDK 設定情報を初期化します。この呼び出しは、他の authSDK 関数を呼び出す前に行う必要があります。

  4. オプションで、CEXP_SetHttpPort を呼び出します。

    デフォルトでは、authSDK は標準の HTTP ポート 80 を使用します。接続してセッションを生成する際に、authSDK が標準以外のポートを使用するように指定する場合は、この関数を使用します。


    注意

    この関数は、スレッドセーフではなく、グローバル値を設定します。この関数をスレッド環境で使用する場合は、この呼び出しと CEXP_GenerateLoginURL 呼び出しをロックする必要があります。



  5. CEXP_GenerateLoginURL を呼び出します。

    この関数は、ユーザおよびクライアントの IP アドレスのセッションハンドルを生成し、iPlanet Calendar Server への接続時に使用するログイン URL を含む文字列を、割り当てられたバッファに返します。この文字列は、識別情報を証明する一種のトークンです。このトークンは、HTTP ヘッダーまたは JavaScriptTM を通じて cookie または URL の形式でクライアントに提供されます。クライアントは、識別情報の証明としてこのトークンを提示して、iPlanet Calendar Server に接続します。

  6. オプションで、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 は、ディレクトリサービスで定義されている必要があります。

  • Calender Server がデフォルトのポート 80 で待機しない場合は、適切なポート値で SetHttpPort メソッドを使用する必要があります。


前へ     目次     索引     DocHome     次へ     
Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

最終更新日: 2002 年 1 月 30 日