サンプル 9b の Web アプリケーションはフォームベースの認証を使用します。これは、JRun ではアプリケーションに用意されているログイン ページを使用して自動的にユーザが認証されることを意味します (この場合は login.jsp)。JRun 3.1 のシングル サインオン機能を使用すると、フォームベースの認証を介してアクセスしたログイン情報を EJB エンジンでも使用できます。サンプル 9b では LoginServlet は不要です。
シングル サインオンの詳細については、『JRun Version 3.1 機能および移行ガイド』を参照してください。
開始する前に、WEB-INF ディレクトリにある web.xml ファイルを確認します。また、sample9b/webapp/WEB-INF/classes ディレクトリにある BalanceServlet.java ファイルも確認します。これらのファイルをサンプル 9a と比較し、シングル サインオン機能を使用するときのコーディングの違いを理解してください。
この例を実行するには、次の make (または makew) オプションを使用します。
make jars EJB ファイルをコンパイルし、 JAR ファイルを作成します。
make deploy EJB を公開します。make war サーブレットをコンパイルし、WAR ファイルを作成します。make wardeploy WAR ファイルを公開します。make startup default JRun サーバを起動します。サンプル 9b を実行するには、コマンド プロンプトを開いて次のコマンドを入力し、環境に合わせて JRun_rootdir を置き換えます。
bash$ export JRUN_HOME=JRun のルート ディレクトリ
bash$ cd JRun のルート ディレクトリ/samples/sample9b
まだユーザを追加していない場合は、次のコマンドを発行して users.properties ファイルに EJB ユーザを追加します。
bash$ make users
bash$ make jars
bash$ make deploy bash$ make war bash$ make wardeploy bash$ make startup
お気に入りのブラウザを開き、ブラウザがクッキーを受け入れるように設定されていることを確認してください。ここで、http://ホスト名:ポート番号/sample9b を指定します。ほかのサンプルで表示される Java アプリケーションに似たログイン画面が表示されるはずです。chief/pass、saver1/pass、または spender1/pass を使用してログインし、トランザクションを開始します。このサンプルは、出力を default-event.log ファイルに書き込みます。
サーブレットはクライアントごとにクッキーを 1 つ作成します。そのため、同じマシン上でもう 1 つブラウザを起動すると同じ ID が付けられます。
「makew clean-users」と入力することによりオプションで users.properties ファイルから EJB ユーザを削除できます。