前へ     目次     索引     DocHome     次へ     
iPlanet Calendar Server プログラマリファレンス



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


この章では、iPlanet Calendar Server 5.0 のプロキシ認証 SDK (authSDK) API について説明します。この章は、プロキシ認証 SDK 関数authSDK の使い方の 2 つの部分に分かれています。



プロキシ認証 SDK 関数のリスト



authSDK には、次の 5 つの関数があります。

  • CEXP_GenerateLoginURL

    有効なセッション ID を含む URL を生成します。

  • CEXP_GetVersion

    バージョン ID 文字列を生成します。

  • CEXP_Init

    SDK を初期化します。

  • CEXP_SetHttpPort

    カレンダーサーバとの接続に使用するポート番号を指定します。

  • 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  

カレンダーサーバのホスト名 (IP アドレスではない) の文字列  

pszURL  

URL を格納するバッファのポインタ  


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

[「プロキシ認証 SDK 関数」に戻る]

[第 7 章の先頭に戻る]


CEXP_GetVersion


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


構文
char * CEXP_GetVersion(void);


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


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

[「プロキシ認証 SDK 関数」に戻る]

[第 7 章の先頭に戻る]


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

 

Calendar Server 管理者の LDAP ユーザ ID の文字列  

pszAdminPassword

 

Calendar Server 管理者のパスワードの文字列  


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


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

[「プロキシ認証 SDK 関数」に戻る]

[第 7 章の先頭に戻る]


CEXP_SetHttpPort


目的
カレンダーサーバとの接続に使用する HTTP ポート番号を設定します。


構文
void CEXP_SetHttpPort (int iHttpPort);


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



iHttpPort

 

ポート番号を指定する整数  


戻り値
なし

[「プロキシ認証 SDK 関数」に戻る]

[第 7 章の先頭に戻る]


CEXP_Shutdown


目的
SDK の使用後、すべてのグローバルメモリを整理し、接続を解除し、ほかのクリーンアップ関数を実行します。


構文
int CEXP_Shutdown (void);


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


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


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

[「プロキシ認証 SDK 関数」に戻る]

[第 7 章の先頭に戻る]



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 アドレスに対するセッションハンドルを生成し、Calendar Server への接続時に使用されるログイン URL を含む文字列を、割り当てられたバッファに返します。この文字列は、識別情報としての一種のトークンです。このトークンは、HTTP ヘッダーまたは JavaScript を通じて cookie または URL の形式でクライアントに提供されます。クライアントは、識別情報としてこのトークンを提示して、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 は、ディレクトリサービスで定義されている必要があります。

  • カレンダーサーバがデフォルトのポート 80 で待機していない場合は、SetHttpPort メソッドで適切なポート番号を指定する必要があります。


前へ     目次     索引     DocHome     次へ     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated June 04, 2001