Interstage Application Server シングル・サインオン運用ガイド |
目次 索引 |
第5章 アプリケーションの開発 |
ここでは、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アプリケーションを開発することができます。
以下にそれぞれの形態について説明します。
サーブレットアプリケーションは、クライアントからすでに認証済みであることを証明する認証情報を取得することができます。認証情報はCookieとしてサーブレットアプリケーションに通知されます。Cookieのキー名は"fj-is-sso-credential"です。
JAASを利用して取得できるSubjectオブジェクトから、認証された利用者のユーザIDや利用者が属するロールなどの情報を取り出すことができます。このとき認証サーバでの認証処理は必要ありません。Subjectオブジェクトについては“ユーザ情報の取得”を参照してください。
サーブレットアプリケーション運用管理者は、実行に必要なJAASのログイン構成ファイルに業務サーバのポート番号の設定を行う必要があります。ログイン構成ファイルの設定の詳細については、“ログイン構成ファイルの作成”を参照してください。また業務サーバ管理者より業務サーバの定義ファイルおよび業務サーバが使用するサービスIDファイルの読み取り権を付加してもらう必要があります。読み取り権の付加については“運用資源のアクセス権限の設定”を参照してください。
また、認証された利用者に関する情報は、業務サーバより通知されるHTTPヘッダからも取得することができます。サーブレットアプリケーションがHTTPヘッダの値を取得する方法はSun Microsystems,Inc.から提供されているServletのドキュメントを参照してください。業務サーバより通知されるHTTPヘッダ名については、業務サーバの定義ファイル内の“HTTPヘッダオプション”の設定に依存します。この設定の詳細については“業務サーバの定義ファイルの設定”および“環境変数による通知情報の設定”を参照してください。
Javaアプリケーションは、クライアントから受け取ったユーザID/パスワードで認証サーバに対して認証処理を行うことができます。シングル・サインオンJavaAPI内部では認証サーバと通信し認証処理を行います。Javaアプリケーション開発者は、実行に必要なJAASのログイン構成ファイルに認証サーバのURLとサービスIDファイルの設定を行う必要があります。ログイン構成ファイルの設定の詳細については、“ログイン構成ファイルの作成”を参照してください。サービスIDファイルについては“サービスIDファイルの取得”を参照してください。
JAASを利用して取得したSubjectオブジェクトを利用して、以下の処理を行うことができます。Subjectオブジェクトについては“ユーザ情報の取得”を参照してください。
以下に、クライアントからユーザID/パスワードを受け取り認証するJavaアプリケーションに関する注意を説明します。
目次 索引 |