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

第5章 アプリケーションの開発> 5.1 Javaアプリケーションの開発> 5.1.5 サンプルコード

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

サンプルコードの概要

 本サンプルは、クライアントからすでに認証済みであることを証明する認証情報を受け取り、認証した利用者の情報を表示するサーブレットアプリケーションです。本サンプルを動作させるためにはサーブレットと連携するWebサーバを業務サーバとして構築しておく必要があります。

サンプルコードの格納場所

 サンプルコードは以下のディレクトリに格納されています。以下、サンプルディレクトリと呼びます。


 Interstageのインストールディレクトリ:デフォルト
 C:\Interstage\F3FMsso\ssoatzag\sample\javaapi


 /opt/FJSVssoaz/sample/javaapi

 サンプルコードの実行に必要なファイルは以下のとおりです。

ファイル名

説明

jaassample.war

warファイル

jswatch.conf

JDK1.3の場合に使用するJServlet環境定義ファイル(旧バージョンのServletサービス用)
本ファイルはIJServer“MyServer”で使用するようにカスタマイズされています。

jswatch14.conf

JDK1.4の場合に使用するJServlet環境定義ファイル(旧バージョンのServletサービス用)
本ファイルはIJServer“MyServer”で使用するようにカスタマイズされています。

webapp/jaassample/isssojaaslogin.conf

サーブレットログイン構成ファイル

webapp/jaassample/WEB-INF/web.xml

Webアプリケーション環境定義ファイル(Deployment Descriptor)

SampleServlet.java

サーブレットjavaソースファイル

サンプルコードの実行手順

(1) サーブレットサービスの環境設定


 IJServerの運用ユーザが、業務サーバの定義に対する読み込みができるように、以下の設定をしてください。

  1. useraddコマンドなどでIJServerの運用ユーザを新規作成してください。
  2. httpd.confのUserディレクティブに指定されているユーザのファイルアクセス権限と同じユーザ権限を、作成したユーザにも与えてください。
  3. テキストエディタでInterstage HTTP Serverの環境定義ファイル(httpd.conf)のUserディレクティブに1.で作成したユーザ名を指定してください。(注1)
  4. Interstage HTTP Serverの運用資源に、Userディレクティブで指定したユーザに対してアクセス権限を設定してください。(注2)

注1)Interstage HTTP Serverの環境定義ファイルの詳細については、“Webサーバ運用ガイド(Interstage HTTP Server編)”の“環境設定”−“環境定義ファイル”を参照してください。
注2)Interstage HTTP Serverの運用資源へのアクセス権限の設定については“業務サーバで使用するWebサーバの運用資源”を参照してください。

(2) サーブレットアプリケーションの配備

 サーブレットコンテナへサーブレットアプリケーションを配備します。配備にはInterstage管理コンソールを使用します。ここではIJServerワークユニット“IJServer”に配備する場合を例に説明します。IJServerの詳細については、“J2EE ユーザーズガイド”の“J2EEアプリケーションが運用される環境(IJServer)”を参照してください。

 IJServerワークユニット“IJServer”が作成されていない場合には、“IJServer”という名前の以下のいずれかのタイプのIJServerを新規作成してください。

 サーブレットアプリケーションを配備するには、以下の手順で行います。

  1. Interstage管理コンソールを使用して、[システム] > [ワークユニット] > [IJServer] > [配備]タブをクリックしてください。
  2. 起動指定のチェックを外して、IJServerが配備完了後に自動起動しないようにしておいてください。
  3. 配備設定の[配備ファイル]の[参照]ボタンをクリックして、サンプルディレクトリに格納されているjaassample.warを選択してください。
    なお、Interstage管理コンソールがインストールされているマシンとコンソールを操作するWebブラウザの実行マシンが別マシンの場合は、“サーバ上に格納されているファイルを配備する”ラジオボタンを選択した後、以下のようにInterstage管理コンソールがインストールされているマシンに存在しているjaassample.warのパスを配備ファイルのテキストボックスへ直接指定してください。

    Interstageのインストールディレクトリ:C:\Interstage
    C:\Interstage\F3FMsso\ssoatzag\sample\javaapi\jaassample.war

    /opt/FJSVssoaz/sample/javaapi/jaassample.war
  4. jaassample.warのパスを設定した後、[配備]ボタンをクリックして配備してください。

 サンプルアプリケーションの配備されるディレクトリは、以下のディレクトリです。

Interstageのインストールディレクトリ:デフォルト

C:\Interstage\J2EE\var\deployment\ijserver\IJServer\webapps\jaassample

 

/opt/FJSVj2ee/var/deployment/ijserver/IJServer/webapps/jaassample

(3) IJServerワークユニットの設定

 Interstage管理コンソールの[システム] > [ワークユニット] > [IJServer] > [環境設定]タブをクリックしてください。[ワークユニット]の設定で、以下に示すクラスパスの設定とJavaVMオプションの設定が必要です。またサーブレットが使用するJDKのバージョンを変更するためにはJavaバージョンのプルダウンを選択してください。

JDK1.3の場合


 Interstageのインストールディレクトリ:デフォルト
クラスパス

C:\Interstage\J2EE\lib\jsse.jar;C:\Interstage\J2EE\lib\jnet.jar; C:\Interstage\J2EE\lib\jcert.jar;C:\Interstage\F3FMsso\ssoatzag\lib\isssomod.jar

JavaVMオプション

-Djava.security.auth.login.config=C:\Interstage\J2EE\var\deployment\ijserver\IJServer\webapps\jaassample\isssojaaslogin.conf


クラスパス

/opt/FJSVj2ee/lib/jsse.jar:/opt/FJSVj2ee/lib/jnet.jar:/opt/FJSVj2ee/lib/jcert.jar: /opt/FJSVssoaz/lib/isssomod.jar

JavaVMオプション

-Djava.security.auth.login.config=/opt/FJSVj2ee/var/deployment/ijserver/IJServer/webapps/jaassample/isssojaaslogin.conf

 

JDK1.4の場合


Interstageのインストールディレクトリ:デフォルト

クラスパス

C:\Interstage\F3FMsso\ssoatzag\lib\isssomod14.jar

JavaVMオプション

-Djava.security.auth.login.config=C:\Interstage\J2EE\var\deployment\ijserver\IJServer\webapps\jaassample\isssojaaslogin.conf


クラスパス

/opt/FJSVssoaz/lib/isssomod14.jar

JavaVMオプション

-Djava.security.auth.login.config=/opt/FJSVj2ee/var/deployment/ijserver/IJServer/webapps/jaassample/isssojaaslogin.conf

 

(4) ログイン構成ファイルの編集

 業務サーバとして構築したWebサーバのポート番号が80番以外の場合には、(2)で配備されたサーブレットアプリケーションに含まれているログイン構成ファイルisssojaaslogin.confのserverportの値をテキストエディタで編集する必要があります。

 ログイン構成ファイルがデフォルトで配備されるパス名


 Interstageのインストールディレクトリ:デフォルト

C:\Interstage\J2EE\var\deployment\ijserver\IJServer\webapps\jaassample\isssojaaslogin.conf

/opt/FJSVj2ee/var/deployment/ijserver/IJServer/webapps/jaassample/isssojaaslogin.conf


 業務サーバがポート番号81で動作している場合のログイン構成ファイル

/**
*  sample login config file
*/

com.fujitsu.interstage.sso{
  com.fujitsu.interstage.sso.auth.module.ISCredentialLoginModule Required
  serverport="81" <− ここを編集する
  ;
};

(5) サーブレットアプリケーションを保護リソースとして定義する

 サーブレットアプリケーションのURLを、保護リソースとしてSSOリポジトリへ登録します。その際に保護リソースを利用可能にするロール名またはロールセット名も併せて設定します。

サーブレットアプリケーションのURL

http://業務サーバ名:ポート番号/jaassample/SampleServlet

登録する保護リソース

業務サーバ名:ポート番号/jaassample/SampleServlet


 登録する保護リソース:"www.fujitsu.com:80/jaassample/SampleServlet"
 保護リソースを利用することができるロール名:"Admin"

 保護リソースを登録する前に、業務サーバのサイト定義"www.fujitsu.com:80"がSSOリポジトリに登録されている必要があります。登録されていない場合は、“LDIFファイルを使用したSSOリポジトリの作成例”および“SSOリポジトリの変更方法”を参照し登録を行ってください。

  1. InfoDirectory管理ツールを起動します。

    [スタート]メニューで[プログラム][Interstage]−[Application Server][InfoDirectory][管理ツールクライアント]を選択します。

    Xウィンドウが動作する環境で、techMgrコマンドを実行します。
  2. [InfoDirectory管理ツール]画面の[接続][ログイン]を選択します。
    −>[ログイン]画面が表示されます。
  3. [ログイン]画面で[DSA選択]ボタンを押下します。
  4. Interstageシングル・サインオン用のDSAの作成と起動”で作成したDSAを選択し、[OK]ボタンを押下します。(例.DSA名"cn=ssoDsa-389"を選択)
  5. [ログイン]画面でDSA管理者のユーザDN/パスワードを入力し、[ログイン]ボタンを押下します。(例.DSA管理者のユーザDNは"cn=admin"、パスワードは"adminpass")
  6. [InfoDirectory管理ツール]画面の[ディレクトリ]タブのツリーを順番にクリックし、"jp"−"Interstage"−"Resource"−"com"−"fujitsu"配下にある"www+80"を選択し、右クリックします。
    表示されたドロップダウンメニューから[エントリ登録][エントリ登録]を選択します。
  7. [エントリ登録]画面の[カテゴリ]から【SSO】を選択します。
    −>[構造オブジェクトクラス一覧]にInterstage シングル・サインオン用のオブジェクトクラスが表示されます。
  8. [エントリ登録]画面の[構造オブジェクトクラス一覧]から“SSOリソース”を選択します。
  9. [エントリ登録]画面の[一般]タブ−[属性][名前]を選択し、[属性値][値]欄に"/jaassample/SampleServlet"と入力し[追加]ボタンを押下します。
  10. [エントリ登録]画面の[補助]タブ−[属性][SSOロール名]を選択し、[属性値][値]欄に"Admin"と入力し[追加]ボタンを押下します。
  11. [エントリ登録]画面の[OK]ボタンを押下すると、保護リソースを追加した旨の[情報]画面が表示されますので、[了解]ボタンを押下します。
    −>[ディレクトリ]タブのツリーに表示されている"jp"−"Interstage"−"Resource"−"com"−"fujitsu"−"www+80"に"/jaassample/SampleServlet"が追加され[InfoDirectory管理ツール]画面に戻ります。

(6) 業務サーバのアクセス制御情報の更新

 (5)で登録した保護リソースの情報を業務サーバに格納するために、業務サーバのアクセス制御情報を自動で取り込む設定にしておくか、業務サーバのアクセス制御情報更新コマンド(ssorfinfaz)を実行してください。詳細については“アクセス制御情報の設定”を参照してください。

(7) 業務サーバの起動

 業務サーバを起動します。Webサーバの起動については、“業務サーバの起動”を参照してください。

(8)サーブレットサービスの起動

 Interstage管理コンソールの[システム] > [ワークユニット] > [IJServer] > [操作]タブをクリックします。[起動]ボタンを押下してワークユニットを起動させてください。

(9) Webブラウザからサーブレットアプリケーションの呼び出し

 Webブラウザで業務サーバ上で動作しているサーブレットアプリケーションのURLを指定します。


 業務サーバが"www.fujitsu.com:80"で動作している場合

http://www.fujitsu.com:80/jaassample/SampleServlet

(10) 実行結果

 ブラウザからサーブレットアプリケーションにアクセスすると、証明書選択画面や基本認証画面が表示されますので、(5)で設定した保護リソースを利用できるロールに属するユーザの証明書を選択するか、ユーザID/パスワードを入力してください。認証に成功すると、ブラウザ画面に認証したユーザの認証情報が表示されます。

 以下に実行例を示します。


 ロール"Admin"に属する利用者"tarou"で認証が成功した場合

com.fujitsu.interstage.sso.auth.ISUserPrincipal tarou
com.sun.security.auth.X500Principal CN=Fujitsu Tarou, OU=User, O=Interstage, C=jp
com.fujitsu.interstage.sso.auth.ISRolePrincipal Admin


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

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