Cosminexus V9 ナビゲーション プラットフォーム 開発ガイド

[目次][用語][索引][前へ][次へ]

4.3.2 ログアウト機能を追加する

ログアウト処理を追加したJSPファイルを作成すると,ナビゲーション プラットフォームの画面以外の画面からのボタン操作で,ナビゲーション プラットフォームからログアウトできるようになります。必要に応じてログアウト処理を追加したJSPファイルを作成してください。

注意
新規画面にログアウト処理を追加する場合は,次のようにしてください。
  • 新規画面に[ログアウト]ボタンを表示する。
  • 新規画面から別画面として起動するナビゲーション プラットフォームの画面には[閉じる]ボタン(ログアウト処理を実行しない)を表示する。
ナビゲーション プラットフォームの画面からログアウト処理を実行すると,起動元の新規画面のセッションが無効となり,操作ができなくなります。

ナビゲーション プラットフォームの画面以外の画面から,ナビゲーション プラットフォームをログアウトする処理を追加する手順を次に示します。

  1. ナビゲーション プラットフォームが提供しているAPIを使用して,ログアウト用JSPファイルを作成します。
    作成するファイルの記述形式を次に示します。
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="windows-31j"
    %><%@ page import="jp.co.hitachi.soft.ucnp.base.common.LogoutActionUtil"
    %><%
      // ログアウトします。
      LogoutActionUtil.logout(request,response);
    %>
    <html>
    この部分に,HTMLタグおよびJavaScript関数を使用してログアウト後の処理を指定します。
    </html>
    ナビゲーション プラットフォームが提供しているログアウト用のAPIの詳細は,「6.6 LogoutActionUtil(ログアウト処理クラス)」を参照してください。
  2. [ログアウト]ボタンをクリックしたら,作成したログアウト用JSPファイルに遷移するよう,新規画面のJSPファイルをカスタマイズします。
    外部システムの画面から,JavaScript関数を使用してログアウト用JSPファイルに遷移するカスタマイズ例を次に示します。
    <%@ page contentType="text/html; charset=UTF-8" pageEncoding="Windows-31J" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
    <!-- 
    function toLogoutJSP() {
    var url = "http://ホスト名:ポート番号/ucnpBase/ucnp/custom/ログアウト用JSPファイル名";
    location.href = url;
    }
    //--></script>
    </head>
    <body>
    <form>
    <input type="button" value="ログアウト" onclick="toLogoutJSP()">
    </form>
    </body>
    </html>
    可変値について説明します。
    • ホスト名
      J2EEサーバマシンのホスト名またはIPアドレスです。
    • ポート番号
      Webサーバのポート番号です。
    • ログアウト用JSPファイル名
      手順1.で作成したJSPファイルです。
    なお,同一論理サーバ内で遷移する場合は,「http://ホスト名:ポート番号」の部分の指定は不要です。
  3. 作成・編集したJSPファイルを格納します。
    JSPファイル格納先の詳細は,「4.1.2 JSPファイルの格納先とパス」を参照してください。

すべての手順が完了したら,次の個所で説明されている手順を実施してください。

<この項の構成>
(1) ログアウト後にナビゲーション プラットフォームのログイン画面を表示するソース例
(2) ログアウト後に画面を閉じるソース例

(1) ログアウト後にナビゲーション プラットフォームのログイン画面を表示するソース例

ログアウト後にナビゲーション プラットフォームのログイン画面を表示するソースの例を次に示します。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="windows-31j"
%><%@ page import="jp.co.hitachi.soft.ucnp.base.common.LogoutActionUtil"
%><%
  // ログアウトします。
  LogoutActionUtil.logout(request,response);
  // ログイン画面のURL。
  String url = "ログイン画面のURL";
  // ログイン画面に遷移します。
  response.sendRedirect(url);
%>

(2) ログアウト後に画面を閉じるソース例

ログアウト後に画面を閉じるソースの例を次に示します。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="windows-31j"
%><%@ page import="jp.co.hitachi.soft.ucnp.base.common.LogoutActionUtil"
%><%
  // ログアウトします。
  LogoutActionUtil.logout(request,response);
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%-- JavaScriptによるウィンドウクローズ --%>
<script type="text/javascript">
<!--
 function closeWindow(){
   var lWindow = window.open('','_top');
   lWindow.opener=window;
   lWindow.close();
 }
// -->
</script>
</head>
<%-- 自動的にウィンドウが閉じます --%>
<body onload="closeWindow()">
</body>
</html>

ただし,ナビゲーション プラットフォームにログインしていなかった場合は,ログアウト処理を実行しないで画面を閉じます。