Interstage Application Server シングル・サインオン運用ガイド
目次 索引 前ページ次ページ

第5章 アプリケーションの開発

5.1 Javaアプリケーションの開発

 ここでは、Interstageシングル・サインオンが提供するJavaアプリケーションインタフェース(以下、シングル・サインオンJavaAPIと記述します)を利用したJavaアプリケーションの開発方法について述べます。

 提供するJavaアプリケーションインタフェースは、Java(TM) Authentication and Authorization Service (以下、JAASと記述します) を利用しています。そのため、ここではJAASを利用したJavaアプリケーション開発の知識が必要です。JAASを利用したJavaアプリケーション開発の詳細については、Sun Microsystems,Inc.から提供されているJAASのドキュメントを参照してください。また、Javaアプリケーション開発で実装するJDKおよびJAASのAPI仕様の詳細については各APIのJavaDocを参照してください。シングル・サインオンJavaAPIが提供するクラス("com.fujitsu.interstage.sso"配下のパッケージに含まれるクラス)のAPI仕様については添付のJavaDocを参照してください。

 シングル・サインオンJavaAPIのクラスライブラリは、業務サーバパッケージに含まれます。

 シングル・サインオンJavaAPIを使用して、以下の2種類のJavaアプリケーションを開発することができます。

  1. クライアントから認証情報を受け取るサーブレットアプリケーション
    例えば、すでに認証済みのクライアントから認証情報を受け取ることによって、本来認証が必要な利用者の情報に対して、再認証をすることなく利用者の情報が参照可能となるサーブレットアプリケーションを開発することができます。
  2. クライアントからユーザID/パスワードを受け取り認証するJavaアプリケーション
    例えば、ユーザID/パスワードによる認証サーバでの認証後、認証情報に含まれている利用者の属するロールによって異なる処理を実行したり、JAASの認可を行うJavaアプリケーションを開発することができます。

 以下にそれぞれの形態について説明します。

クライアントから認証情報を受け取るサーブレットアプリケーション

 サーブレットアプリケーションは、クライアントからすでに認証済みであることを証明する認証情報を取得することができます。認証情報はCookieとしてサーブレットアプリケーションに通知されます。Cookieのキー名は"fj-is-sso-credential"です。

 JAASを利用して取得できるSubjectオブジェクトから、認証された利用者のユーザIDや利用者が属するロールなどの情報を取り出すことができます。このとき認証サーバでの認証処理は必要ありません。Subjectオブジェクトについては“ユーザ情報の取得”を参照してください。

 サーブレットアプリケーション運用管理者は、実行に必要なJAASのログイン構成ファイルに業務サーバのポート番号の設定を行う必要があります。ログイン構成ファイルの設定の詳細については、“ログイン構成ファイルの作成”を参照してください。また業務サーバ管理者より業務サーバの定義ファイルおよび業務サーバが使用するサービスIDファイルの読み取り権を付加してもらう必要があります。読み取り権の付加については“運用資源のアクセス権限の設定”を参照してください。

 また、認証された利用者に関する情報は、業務サーバより通知されるHTTPヘッダからも取得することができます。サーブレットアプリケーションがHTTPヘッダの値を取得する方法はSun Microsystems,Inc.から提供されているServletのドキュメントを参照してください。業務サーバより通知されるHTTPヘッダ名については、業務サーバの定義ファイル内の“HTTPヘッダオプション”の設定に依存します。この設定の詳細については“業務サーバの定義ファイルの設定”および“環境変数による通知情報の設定”を参照してください。

クライアントからユーザID/パスワードを受け取り認証するJavaアプリケーション

 Javaアプリケーションは、クライアントから受け取ったユーザID/パスワードで認証サーバに対して認証処理を行うことができます。シングル・サインオンJavaAPI内部では認証サーバと通信し認証処理を行います。Javaアプリケーション開発者は、実行に必要なJAASのログイン構成ファイルに認証サーバのURLとサービスIDファイルの設定を行う必要があります。ログイン構成ファイルの設定の詳細については、“ログイン構成ファイルの作成”を参照してください。サービスIDファイルについては“サービスIDファイルの取得”を参照してください。

 JAASを利用して取得したSubjectオブジェクトを利用して、以下の処理を行うことができます。Subjectオブジェクトについては“ユーザ情報の取得”を参照してください。

  1. Subjectオブジェクトから認証ユーザに関する情報(ユーザ名やロール名など)を取得することができます。
  2. Subjectオブジェクトを使用して、JAASの認可機能を使用することができます。なお、Sun Microsystems,Inc.から提供されているドキュメントには認可機能を“承認機能”と記述しているものがあります。


以下に、クライアントからユーザID/パスワードを受け取り認証するJavaアプリケーションに関する注意を説明します。


下へ5.1.1 アプリケーション開発の流れ
下へ5.1.2 プログラムの開発
下へ5.1.3 アプリケーション実行環境の設定
下へ5.1.4 アプリケーションの実行
下へ5.1.5 サンプルコード

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005