intra-mart Accel Platform 認証仕様書 第7版 2023-04-01

4.5. ログアウト

ログアウト処理について説明します。

4.5.1. ログアウトの概要

ログアウトすることで、ログインセッションを終了します。
ユーザの状態としては、ログイン状態から未認証状態に遷移します。
ログアウト処理では、HTTPセッションを初期化し、ログイン中にHTTPセッション等に保持していたユーザに関する情報を破棄します。

4.5.2. ログアウトの機能

ログアウトの主な機能について説明します。

4.5.2.1. ログアウト処理

ログアウト処理では、HTTPセッションが破棄され、新しいHTTPセッションが作成されます。
アクセスコンテキストが切り替えられて、未認証ユーザの状態に遷移します。

4.5.2.2. ログアウト後の遷移先の指定

一般ユーザの場合、ログアウト時にリクエストパラメータ 「im_url」を指定することで、指定した画面に遷移することが可能です。
以下のように指定した場合、ログアウト後にサイトマップに遷移します。
http://iap.example.com/imart/logout?im_url=/menu/sitemap
im_url に外部サイトのURLを指定した場合、許可されたサイトのみ遷移可能です。
許可されていないサイトの場合は指定は無視されて、「ログイン画面」に遷移します。
外部サイトの許可設定については、「設定ファイルリファレンス」 - 「認証外部ページURL許可リスト設定」を参照してください。
im_url による遷移を無効にする場合は、「設定ファイルリファレンス」 - 「リクエストパラメータによる画面遷移サポートの有無(ログアウト時)」を参照してください。

4.5.3. ログアウトの実装

4.5.3.1. ログアウトのURL

intra-mart Accel Platform の標準のログアウトURL は以下の通りです。
http://<HOST>:<PORT>/<CONTEXT_PATH>/logout
このURLは、一般ユーザとシステム管理者で共通です。

4.5.3.2. ログアウト処理の流れ

ログアウト処理の流れは、以下の通りです。
../../_images/logout-flow.png

図 ログアウト処理フロー

  1. ユーザ種別チェック

    一般ユーザかシステム管理者かで処理を振り分けます。
    ログインしていなかった場合にログアウト処理が呼び出された場合は、一般ユーザとして処理されます。
  2. 一般ユーザログアウト処理

    一般ユーザのログアウト処理を実行します。
  3. システム管理者ログアウト処理

    システム管理者のログアウト処理を実行します。
    ログアウト処理の実行後は、「システム管理者のログイン画面」にリダイレクトします。
  4. 遷移先決定処理

    遷移先を決定し、決定された画面にリダイレクトします。
    一般ユーザの場合、リクエストパラメータにより遷移先の変更が可能です。
    ログアウト後の遷移先の指定 」 を参照してください。
    リクエストパラメータが指定されていない場合は、「一般ユーザのログイン画面」が遷移先です。

注意

ログアウト処理では、ユーザ種別を確認して処理を振り分けています。
ユーザ種別は、HTTPセッションに保存されているアカウントコンテキストの情報であるため、セッションタイムアウトが発生した場合、ユーザ種別が判定できません。
その場合、一般ユーザとして判定されるため、システム管理者の画面でログアウトを実行しても、「一般ユーザのログイン画面」に遷移します。