ページの先頭行へ戻る
Interstage Application Server シングル・サインオン運用ガイド
FUJITSU Software

6.1.5 サンプルコード

  シングル・サインオンJavaAPIのサンプルコードの利用方法について説明します。

  本サンプルを実行する前に、“第2章 環境構築(SSO管理者編)”、“第3章 環境構築(業務サーバ管理者編)”で構築したInterstage シングル・サインオン環境が必要です。

サンプルコードの概要

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

URL

アプリケーション

保護リソース登録

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

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

必要

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

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


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


  /opt/FJSVssoaz/sample/javaapi

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

ファイル名

説明

jaassample.war

warファイル

webapp/jaassample/WEB-INF/isssojaaslogin.conf

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

webapp/jaassample/WEB-INF/web.xml

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

SampleServlet.java

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

6.1.5.1 Java EEでのサンプルコードの実行手順

(1)Servletサービスの環境設定


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

  1. useraddコマンドなどでIJServerクラスタのサービス運用ユーザを新規作成してください。

  2. Interstage HTTP Serverの環境定義ファイル(httpd.conf)のUserディレクティブに指定されているユーザのファイルアクセス権限と同じユーザ権限を、作成したユーザにも与えてください。

  3. テキストエディタでhttpd.confのUserディレクティブに1.で作成したユーザ名を指定してください。(注1)

  4. Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブで[適用]ボタンをクリックしてください。(注2)

  注1)環境定義ファイルの詳細については、“Interstage HTTP Server 運用ガイド”-“環境設定”-“環境定義ファイル”を参照してください。

  注2)詳細は“■業務サーバのWebサーバの実効ユーザを変更する場合”を参照してください。

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

  Servletコンテナへサーブレットアプリケーションを配備します。配備にはInterstage Java EE管理コンソールを使用します。ここでは、IJServerクラスタ“IJServerCluster”に配備する場合を例に説明します。IJServerクラスタの詳細については、“Java EE運用ガイド”の“Java EEアプリケーションの提供機能”-“IJServerクラスタ”を参照してください。

  IJServerクラスタ“IJServerCluster”が作成されていない場合には、“IJServerCluster”という名前で新規作成してください。

  1. Interstage Java EE管理コンソールを使用して、[クラスタ]を選択し、[新規]ボタンをクリックしてください。

  2. [新しいクラスタ]画面において、以下の値を設定してください。
      名前:“IJServerCluster”
      設定:プルダウンメニューから“default-config”選択してください。
             :“選択している設定のコピーを作成します”を選択してください。

  3. 以下の手順でサーバーインスタンスを作成してください。
    [作成するサーバーインスタンス]の[新規]ボタンをクリックしてください。
    インスタンス名に“instance”と入力してください。

  4. [了解]ボタンをクリックしてください。

  作成したIJServerクラスタと連携するWebサーバコネクタを以下の手順で設定してください。

  Java EE管理コンソールの[クラスタ]>[IJServerCluster]を選択し、[Webサーバコネクタ]タブの“業務サーバを組み込んだWebサーバ”にチェックを入れ、[保存]ボタンをクリックしてください。

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

  1. Interstage Java EE管理コンソールを使用して、[クラスタ]>[IJServerCluster]を選択し、[アプリケーション]タブの[配備]ボタンをクリックしてください。

  2. [タイプ]から“Webアプリケーション(.war)”を選択してください。
    “サーバーにアップロードされるパッケージファイル”の[参照]ボタンをクリックして、サンプルディレクトリに格納されているjaassample.warを選択してください。
    なお、Interstage Java EE管理コンソールがインストールされているマシンとコンソールを操作するWebブラウザの実行マシンが別マシンの場合は、“Application Server からアクセス可能なローカルのパッケージファイルまたはディレクトリ”を選択し、以下のようにInterstage Java EE管理コンソールがインストールされているマシンに存在しているjaassample.warのパスを配備ファイルのテキストボックスへ直接入力してください。

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

    /opt/FJSVssoaz/sample/javaapi/jaassample.war

  3. jaassample.warのパスを設定した後、[了解]ボタンをクリックして配備してください。

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

C:\Interstage\F3FMisjee\var\domains\interstage\applications\j2ee-modules\jaassample

/var/opt/FJSVisjee/domains/interstage/applications/j2ee-modules/jaassample

(3)IJServerクラスタの設定

  Interstage Java EE管理コンソールを使用して、クラスパスとJavaVMオプションを設定してください。

  1. [クラスタ]を選択します。表示される画面の[設定]列の[IJServerCluster-config]を選択してください。

  2. [構成]から[JVM設定]を選択してください。

  3. [パス設定]タブの[クラスパスのサフィックス]にクラスパスを設定してください。

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

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

      クラスパス

    /opt/FJSVssoaz/lib/isssomod14.jar

  4. クラスパス設定後、[保存]ボタンをクリックしてください。

  5. [JVMオプション]タブから“-Djava.security.auth.login.config”を変更してください。

      JavaVMオプション

    -Djava.security.auth.login.config=C:\Interstage\F3FMisjee\var\domains\interstage\applications\j2ee-modules\jaassample\WEB-INF\isssojaaslogin.conf

      JavaVMオプション

    -Djava.security.auth.login.config=/var/opt/FJSVisjee/domains/interstage/applications/j2ee-modules/jaassample/WEB-INF/isssojaaslogin.conf

  6. JavaVMオプション設定後、[保存]ボタンをクリックしてください。

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

  サーブレットアプリケーションを運用する業務サーバの業務システム名を設定してください。(2)で配備されたサーブレットアプリケーションに含まれているログイン構成ファイルisssojaaslogin.confのbusiness-system-nameの値をテキストエディタで編集します。

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


  Interstageのインストールディレクトリ:C:\Interstage

C:\Interstage\F3FMisjee\var\domains\interstage\applications\j2ee-modules\jaassample\WEB-INF\isssojaaslogin.conf

/var/opt/FJSVisjee/domains/interstage/applications/j2ee-modules/jaassample/WEB-INF/isssojaaslogin.conf


  サーブレットアプリケーションが動作する業務サーバの業務システム名が“Business001”の場合のログイン構成ファイルの例です。
  エントリ“com.fujitsu.interstage.sso”はクライアントから認証情報を受け取るサーブレットアプリケーションで使用します。

/**
*  sample login config file
*/

com.fujitsu.interstage.sso{
  com.fujitsu.interstage.sso.auth.module.ISCredentialLoginModule required
  business-system-name=”Business001”  <- ここを編集する
  ;
};
(5)証明書の登録

  認証サーバのサイト証明書、およびその証明書の発行者である認証局証明書を取得し、業務サーバのInterstage証明書環境に登録します。なお、ロードバランサを使用する場合には、サイト証明書はロードバランサのFQDNで発行したものを使用します。

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

  SSO管理者は、サーブレットアプリケーションのURLを、保護リソースとしてSSOリポジトリへ登録します。

  1. Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [認証基盤] > [リポジトリサーバ] > [保護リソース]を開くと、[保護リソース]ツリーの配下に定義されているサイトの一覧が表示されますので、サンプルアプリケーションを配備した業務サーバのサイト定義をクリックしてください。

  2. ツリーで[保護パス]をクリックするとパス定義の一覧画面が表示されますので、[新規作成]タブを選択してください。

  3. アクセス制御の対象とするパスとして、[パス]に“/jaassample/SampleServlet”を入力します。そして、保護リソースを利用することができるロール名のチェックボックスを選択してください。

  4. [作成]ボタンをクリックすると、一覧に設定したパス、およびロール情報が表示されますので確認してください。

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

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

  登録する保護リソース

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


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

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

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

  業務サーバ管理者は(6)で登録した保護リソースの情報を業務サーバに格納します。Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [アクセス制御情報の更新]タブの[更新]ボタンをクリックしてください。Interstage管理コンソールの定義詳細については、Interstage管理コンソールのヘルプを参照してください。アクセス制御情報の更新については“4.6.1 ロール定義の変更、追加”、および“4.6.2 保護リソースの変更”を参照してください。

(8)業務サーバのWebアプリケーション連携の設定の変更

  業務サーバ管理者は、Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[Webアプリケーションとの連携]の[ユーザ情報の通知]の設定を“通知する”にして[適用]ボタンをクリックしてください。

(9)業務サーバのシングル・サインオンJavaAPIの設定の変更

  セションの管理を行う場合、業務サーバ管理者は、Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[シングル・サインオンJavaAPI]の[シングル・サインオンJavaAPIの使用]の設定を“使用する”にして[適用]ボタンをクリックしてください。

(10)業務サーバの起動

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

(11)Servletサービスの起動

  Interstage Java EE管理コンソールを使用して、[クラスタ]>[IJServerCluster]を選択し、[一般]タブの[クラスタの起動]ボタンをクリックしてIJServerクラスタを起動してください。

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

  Webブラウザで業務サーバ上の以下のURLを指定します。


  業務サーバが“www.fujitsu.com:80”でSSL通信している場合

https://www.fujitsu.com:80/jaassample/

  業務サーバが“www.fujitsu.com:80”で非SSL通信している場合

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

(13)実行結果

  Webブラウザに、“SSO Authentication”が表示されます。
  “SSO Authentication”をクリックすると、証明書選択画面やフォーム認証ページまたは基本認証画面が表示されますので、(6)で設定した保護リソースを利用できるロールに属するユーザの証明書を選択するか、ユーザID/パスワードを入力してください。認証に成功すると、Webブラウザ画面に認証したユーザの認証情報が表示されます。

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


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

com.fujitsu.interstage.sso.auth.ISUserPrincipal tarou
javax.security.auth.x500.X500Principal          CN=Fujitsu Tarou,OU=User,OU=interstage,O=fujitsu,DC=com
com.fujitsu.interstage.sso.auth.ISRolePrincipal Admin


  Webブラウザ画面に「No cookie information」が表示される場合、業務サーバのシングル・サインオンJavaAPIの設定が変更されていません。実行手順を確認し、設定を変更してください。

6.1.5.2 Java EE 6でのサンプルコードの実行手順

(1)Servletサービスの環境設定


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

  1. useraddコマンドなどでIJServerクラスタのサービス運用ユーザを新規作成してください。

  2. Interstage HTTP Server 2.2の環境定義ファイル(httpd.conf)のUserディレクティブに指定されているユーザのファイルアクセス権限と同じユーザ権限を、作成したユーザにも与えてください。

  3. テキストエディタでhttpd.confのUserディレクティブに1.で作成したユーザ名を指定してください。(注1)

  4. Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[Webサーバの設定]の[使用しているWebサーバ]の[実効ユーザ名]にWebサーバの定義ファイルに設定した実効ユーザ名を設定し、[適用]ボタンをクリックしてください。(注2)

  1)Interstage HTTP Server 2.2の環境定義ファイルの詳細については、“Interstage HTTP Server 運用ガイド 2.2”-“チューニング”-“環境定義”-“環境定義ファイル(httpd.conf)”を参照してください。
  注2)詳細は“■業務サーバのWebサーバの実効ユーザを変更する場合”を参照してください。

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

  Servletコンテナへサーブレットアプリケーションを配備します。配備にはasadminコマンドを使用します。ここでは、IJServerクラスタ“IJServerCluster”に配備する場合を例に説明します。IJServerクラスタの詳細については、“Java EE運用ガイド(Java EE 6編)”の“Java EEアプリケーション実行環境の提供機能”-“IJServerクラスタ”を参照してください。

  IJServerクラスタ“IJServerCluster”が作成されていない場合には、“IJServerCluster”という名前で新規作成してください。

IJServerクラスタの作成は、asadminコマンドにcreate-clusterサブコマンドを指定して行います。

Interstageのインストールディレクトリ:C:\Interstage

C:\>C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-cluster IJServerCluster

#/opt/FJSVisje6/glassfish/bin/asadmin create-cluster IJServerCluster

  サーバーインスタンスを作成してください。ここでは、サーバーインスタンス“instance1”を作成する場合を例に説明します。
  サーバーインスタンスの作成は、asadminコマンドにcreate-local-instanceサブコマンドを指定して行います。

Interstageのインストールディレクトリ:C:\Interstage

C:\>C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-local-instance --cluster IJServerCluster instance1

#/opt/FJSVisje6/glassfish/bin/asadmin create-local-instance --cluster IJServerCluster instance1

  作成したIJServerクラスタと連携するWebサーバコネクタを設定してください。ここではデフォルトのWebサーバ“FJapache”と連携する場合を例に説明します。
  Webサーバコネクタの設定は、asadminコマンドにcreate-web-server-refサブコマンドを指定して行います。

Interstageのインストールディレクトリ:C:\Interstage

C:\>C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-web-server-ref --target IJServerCluster FJapache

#/opt/FJSVisje6/glassfish/bin/asadmin create-web-server-ref --target IJServerCluster FJapache

  サーブレットアプリケーションを配備してください。
  サンプルアプリケーションは、以下に格納されています。

Interstageのインストールディレクトリ:C:\Interstage

  C:\Interstage\F3FMsso\ssoatzag\sample\javaapi\jaassample.war

  /opt/FJSVssoaz/sample/javaapi/jaassample.war

アプリケーション配備時に以下のクラスパスの設定も行ってください。


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

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

  クラスパス

/opt/FJSVssoaz/lib/isssomod14.jar

  サーブレットアプリケーションの配備は、asadminコマンドにdeployサブコマンドを指定して行います。

Interstageのインストールディレクトリ:C:\Interstage

C:\>C:\Interstage\F3FMisje6\glassfish\bin\asadmin deploy --libraries C:\Interstage\F3FMsso\ssoatzag\lib\isssomod14.jar --target IJServerCluster C:\Interstage\F3FMsso\ssoatzag\sample\javaapi\jaassample.war

#/opt/FJSVisje6/glassfish/bin/asadmin deploy --libraries /opt/FJSVssoaz/lib/isssomod14.jar --target IJServerCluster /opt/FJSVssoaz/sample/javaapi/jaassample.war

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

C:\Interstage\F3FMisje6\var\domains\domain1\applications\jaassample

/var/opt/FJSVisje6/domains/domain1/applications/jaassample

(3)IJServerクラスタの設定

  アプリケーションを配備したIJServerクラスタのJVMオプションを変更します。

JVMオプション

変更後の値

java.security.auth.login.config

C:\Interstage\F3FMisje6\var\domains\domain1\applications\jaassample\WEB-INF\isssojaaslogin.conf

/var/opt/FJSVisje6/domains/domain1/applications/jaassample/WEB-INF/isssojaaslogin.conf

  JVMオプションの変更は、以下の手順で行ってください。

  1. JVMオプションの削除
    asadminコマンドにdelete-jvm-optionsサブコマンドを指定して、JVMオプション“java.security.auth.login.config”を削除してください

    Interstageのインストールディレクトリ:C:\Interstage

    C:\>C:\Interstage\F3FMisje6\glassfish\bin\asadmin delete-jvm-options --target IJServerCluster \-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf

    #/opt/FJSVisje6/glassfish/bin/asadmin delete-jvm-options --target IJServerCluster '\-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf'

  2. JVMオプションの追加
    asadminコマンドにcreate-jvm-optionsサブコマンドを指定して、JVMオプション“java.security.auth.login.config”を追加してください

    Interstageのインストールディレクトリ:C:\Interstage

    C:\>C:\Interstage\F3FMisje6\glassfish\bin\asadmin create-jvm-options --target IJServerCluster \-Djava.security.auth.login.config="C\:\\Interstage\\F3FMisje6\\var\\domains\\domain1\\applications\\jaassample\\WEB-INF\\isssojaaslogin.conf"

    #/opt/FJSVisje6/glassfish/bin/asadmin create-jvm-options --target IJServerCluster \-Djava.security.auth.login.config='/var/opt/FJSVisje6/domains/domain1/applications/jaassample/WEB-INF/isssojaaslogin.conf'

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

  サーブレットアプリケーションを運用する業務サーバの業務システム名を設定してください。(2)で配備されたサーブレットアプリケーションに含まれているログイン構成ファイルisssojaaslogin.confのbusiness-system-nameの値をテキストエディタで編集します。

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


  Interstageのインストールディレクトリ:C:\Interstage

C:\Interstage\F3FMisje6\var\domains\domain1\applications\jaassample\WEB-INF\isssojaaslogin.conf

/var/opt/FJSVisje6/domains/domain1/applications/jaassample/WEB-INF/isssojaaslogin.conf


  サーブレットアプリケーションが動作する業務サーバの業務システム名が“Business001”の場合のログイン構成ファイルの例です。
  エントリ“com.fujitsu.interstage.sso”はクライアントから認証情報を受け取るサーブレットアプリケーションで使用します。

/**
*  sample login config file
*/

com.fujitsu.interstage.sso{
  com.fujitsu.interstage.sso.auth.module.ISCredentialLoginModule required
  business-system-name=”Business001”  <- ここを編集する
  ;
};
(5)証明書の登録

  認証サーバのサイト証明書、およびその証明書の発行者である認証局証明書を取得し、業務サーバのInterstage証明書環境に登録します。なお、ロードバランサを使用する場合には、サイト証明書はロードバランサのFQDNで発行したものを使用します。

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

  SSO管理者は、サーブレットアプリケーションのURLを、保護リソースとしてSSOリポジトリへ登録します。

  1. Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [認証基盤] > [リポジトリサーバ] > [保護リソース]を開くと、[保護リソース]ツリーの配下に定義されているサイトの一覧が表示されますので、サンプルアプリケーションを配備した業務サーバのサイト定義をクリックしてください。

  2. ツリーで[保護パス]をクリックするとパス定義の一覧画面が表示されますので、[新規作成]タブを選択してください。

  3. アクセス制御の対象とするパスとして、[パス]に“/jaassample/SampleServlet”を入力します。そして、保護リソースを利用することができるロール名のチェックボックスを選択してください。

  4. [作成]ボタンをクリックすると、一覧に設定したパス、およびロール情報が表示されますので確認してください。

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

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

  登録する保護リソース

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


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

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

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

  業務サーバ管理者は(6)で登録した保護リソースの情報を業務サーバに格納します。Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [アクセス制御情報の更新]タブの[更新]ボタンをクリックしてください。Interstage管理コンソールの定義詳細については、Interstage管理コンソールのヘルプを参照してください。アクセス制御情報の更新については“4.6.1 ロール定義の変更、追加”、および“4.6.2 保護リソースの変更”を参照してください。

(8)業務サーバのWebアプリケーション連携の設定の変更

  業務サーバ管理者は、Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[Webアプリケーションとの連携]の[ユーザ情報の通知]の設定を“通知する”にして[適用]ボタンをクリックしてください。

(9)業務サーバのシングル・サインオンJavaAPIの設定の変更

  セションの管理を行う場合、業務サーバ管理者は、Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[シングル・サインオンJavaAPI]の[シングル・サインオンJavaAPIの使用]の設定を“使用する”にして[適用]ボタンをクリックしてください。

(10)業務サーバの起動

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

(11)Servletサービスの起動

  アプリケーションを配備したIJServerクラスタを起動します。

  IJServerクラスタの起動は、asadminコマンドにstart-clusterサブコマンドを指定して行ってください。

Interstageのインストールディレクトリ:C:\Interstage

C:\>C:\Interstage\F3FMisje6\glassfish\bin\asadmin start-cluster IJServerCluster

#/opt/FJSVisje6/glassfish/bin/asadmin start-cluster IJServerCluster

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

  Webブラウザで業務サーバ上の以下のURLを指定します。


  業務サーバが“www.fujitsu.com:80”でSSL通信している場合

https://www.fujitsu.com:80/jaassample/

  業務サーバが“www.fujitsu.com:80”で非SSL通信している場合

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

(13)実行結果

  Webブラウザに、“SSO Authentication”が表示されます。
  “SSO Authentication”をクリックすると、証明書選択画面やフォーム認証ページまたは基本認証画面が表示されますので、(6)で設定した保護リソースを利用できるロールに属するユーザの証明書を選択するか、ユーザID/パスワードを入力してください。認証に成功すると、Webブラウザ画面に認証したユーザの認証情報が表示されます。

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


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

com.fujitsu.interstage.sso.auth.ISUserPrincipal tarou
javax.security.auth.x500.X500Principal          CN=Fujitsu Tarou,OU=User,OU=interstage,O=fujitsu,DC=com
com.fujitsu.interstage.sso.auth.ISRolePrincipal Admin


  Webブラウザ画面に「No cookie information」が表示される場合、業務サーバのシングル・サインオンJavaAPIの設定が変更されていません。実行手順を確認し、設定を変更してください。

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

(1)Servletサービスの環境設定


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

  1. useraddコマンドなどでIJServerの運用ユーザを新規作成してください。

  2. Interstage HTTP Serverの環境定義ファイル(httpd.conf)のUserディレクティブに指定されているユーザのファイルアクセス権限と同じユーザ権限を、作成したユーザにも与えてください。

  3. テキストエディタでhttpd.confのUserディレクティブに1.で作成したユーザ名を指定してください。(注1)

  4. Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブで[適用]ボタンをクリックしてください。(注2)

  1)Interstage HTTP Serverの環境定義ファイルの詳細については、“Interstage HTTP Server 運用ガイド”-“環境設定”-“環境定義ファイル”を参照してください。
  注2)詳細は“■業務サーバのWebサーバの実効ユーザを変更する場合”を参照してください。

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

  Servletコンテナへサーブレットアプリケーションを配備します。配備にはInterstage管理コンソールを使用します。ここでは、IJServerワークユニット“IJServer”に配備する場合を例に説明します。IJServerの詳細については、“J2EE ユーザーズガイド”の“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のパスを設定した後、[配備]ボタンをクリックして配備してください。

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

C:\Interstage\J2EE\var\deployment\ijserver\IJServer\apps\jaassample.war

/opt/FJSVj2ee/var/deployment/ijserver/IJServer/apps/jaassample.war

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

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


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

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

  JavaVMオプション

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


  クラスパス

/opt/FJSVssoaz/lib/isssomod14.jar

  JavaVMオプション

-Djava.security.auth.login.config=/opt/FJSVj2ee/var/deployment/ijserver/IJServer/apps/jaassample.war/WEB-INF/isssojaaslogin.conf

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

  サーブレットアプリケーションを運用する業務サーバの業務システム名を設定してください。(2)で配備されたサーブレットアプリケーションに含まれているログイン構成ファイルisssojaaslogin.confのbusiness-system-nameの値をテキストエディタで編集します。

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


  Interstageのインストールディレクトリ:C:\Interstage

C:\Interstage\J2EE\var\deployment\ijserver\IJServer\apps\jaassample.war\WEB-INF\isssojaaslogin.conf

/opt/FJSVj2ee/var/deployment/ijserver/IJServer/apps/jaassample.war/WEB-INF/isssojaaslogin.conf


  サーブレットアプリケーションが動作する業務サーバの業務システム名が“Business001”の場合のログイン構成ファイルの例です。
  エントリ“com.fujitsu.interstage.sso”はクライアントから認証情報を受け取るサーブレットアプリケーションで使用します。

/**
*  sample login config file
*/

com.fujitsu.interstage.sso{
  com.fujitsu.interstage.sso.auth.module.ISCredentialLoginModule required
  business-system-name=”Business001”  <- ここを編集する
  ;
};
(5)証明書の登録

  認証サーバのサイト証明書、およびその証明書の発行者である認証局証明書を取得し、業務サーバのInterstage証明書環境に登録します。なお、ロードバランサを使用する場合には、サイト証明書はロードバランサのFQDNで発行したものを使用します。

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

  SSO管理者は、サーブレットアプリケーションのURLを、保護リソースとしてSSOリポジトリへ登録します。

  1. Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [認証基盤] > [リポジトリサーバ] > [保護リソース]を開くと、[保護リソース]ツリーの配下に定義されているサイトの一覧が表示されますので、サンプルアプリケーションを配備した業務サーバのサイト定義をクリックしてください。

  2. ツリーで[保護パス]をクリックするとパス定義の一覧画面が表示されますので、[新規作成]タブを選択してください。

  3. アクセス制御の対象とするパスとして、[パス]に“/jaassample/SampleServlet”を入力します。そして、保護リソースを利用することができるロール名のチェックボックスを選択してください。

  4. [作成]ボタンをクリックすると、一覧に設定したパス、およびロール情報が表示されますので確認してください。

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

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

  登録する保護リソース

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


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

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

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

  業務サーバ管理者は(6)で登録した保護リソースの情報を業務サーバに格納します。Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [アクセス制御情報の更新]タブの[更新]ボタンをクリックしてください。Interstage管理コンソールの定義詳細については、Interstage管理コンソールのヘルプを参照してください。アクセス制御情報の更新については“4.6.1 ロール定義の変更、追加”、および“4.6.2 保護リソースの変更”を参照してください。

(8)業務サーバのWebアプリケーション連携の設定の変更

  業務サーバ管理者は、Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[Webアプリケーションとの連携]の[ユーザ情報の通知]の設定を“通知する”にして[適用]ボタンをクリックしてください。

(9)業務サーバのシングル・サインオンJavaAPIの設定の変更

  セションの管理を行う場合、業務サーバ管理者は、Interstage管理コンソールを使用して、[システム] > [セキュリティ] > [シングル・サインオン] > [業務システム] > [業務システム名] > [環境設定]タブの[詳細設定[表示]]をクリックし、[シングル・サインオンJavaAPI]の[シングル・サインオンJavaAPIの使用]の設定を“使用する”にして[適用]ボタンをクリックしてください。

(10)業務サーバの起動

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

(11)Servletサービスの起動

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

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

  Webブラウザで業務サーバ上の以下のURLを指定します。


  業務サーバが“www.fujitsu.com:80”でSSL通信している場合

https://www.fujitsu.com:80/jaassample/

  業務サーバが“www.fujitsu.com:80”で非SSL通信している場合

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

(13)実行結果

  Webブラウザに、“SSO Authentication”が表示されます。
  “SSO Authentication”をクリックすると、証明書選択画面やフォーム認証ページまたは基本認証画面が表示されますので、(6)で設定した保護リソースを利用できるロールに属するユーザの証明書を選択するか、ユーザID/パスワードを入力してください。認証に成功すると、Webブラウザ画面に認証したユーザの認証情報が表示されます。

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


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

com.fujitsu.interstage.sso.auth.ISUserPrincipal tarou
javax.security.auth.x500.X500Principal          CN=Fujitsu Tarou,OU=User,OU=interstage,O=fujitsu,DC=com
com.fujitsu.interstage.sso.auth.ISRolePrincipal Admin


  Webブラウザ画面に「No cookie information」が表示される場合、業務サーバのシングル・サインオンJavaAPIの設定が変更されていません。実行手順を確認し、設定を変更してください。