Sun ONE logo     前へ     目次     索引     次へ     
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

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



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

 

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

pszAdminPassword

 

Sun ONE 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 をリンクします。

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

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

  3. CEXP_Init を呼び出します。

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

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

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

    注意

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



  5. CEXP_GenerateLoginURL を呼び出します。

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

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


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

最終更新日 2002 年 8 月 29 日