ユーティリティメニューの「ログアウト」メニューを選択した場合の遷移先を変更することが可能です。
ログアウト時の遷移先を変更する場合は、リクエストパラメータ「im_url」を付与します。
例えば、ホーム画面に遷移させる場合は、以下のように指定することで、ログアウト後にホーム画面に遷移します。
http://<サーバホスト名>/imart/logout?im_url=/home
■ intra-mart Accel Platform 認証仕様書 - 各機能の詳細 - ログアウト - ログアウトの機能 - ログアウト後の遷移先の指定
https://document.intra-mart.jp/library/iap/public/im_certification/im_certification_specification/texts/components/logout.html#logout-target-page
ユーティリティメニューの「ログアウト」メニュー選択時に「im_url」を付与するには、以下の設定およびプラグインの作成を行う必要があります。
(1) 以下の設定ファイルにて、「リクエストパラメータによる画面遷移サポートの有無(ログアウト時)」(enable_requested_target_url) を有効にします。
WEB-INF/conf/certification-config/im_login.xml
(参考)
■ intra-mart Accel Platform 設定ファイルリファレンス - 認証機能 - 認証設定(一般ユーザ用) - リクエストパラメータによる画面遷移サポートの有無(ログアウト時)
https://document.intra-mart.jp/library/iap/public/configuration/im_configuration_reference/texts/im_certification/im_login/index.html
IM-Jugglingで編集する場合は、以下の方法で設定ファイルを出力します。
a. IM-Jugglingプロジェクト/juggling.im を開きます。
b. エディタ右下の「設定ファイル」タブを押下します。
c. 「認証機能」-「認証設定(一般ユーザ用)(certification-config/im_login.xml)」を選択し、出力ボタンを押下します。
d. IM-Jugglingプロジェクト/conf/certification-configに im_login.xml が出力されます。
e. im_login.xml を編集します。
-- 例 --
<!-- ログアウトで使用する設定 -->
<category name="im_logout">
<!-- (略) -->
<!-- リクエストパラメータによる画面遷移サポートの有無 -->
<param>
<param-name>enable_requested_target_url</param-name>
<param-value>true</param-value>
</param>
</category>
(2) LoginLogoutItemProvider クラス [*1] を継承したクラスにて、 getUrl() メソッドをオーバーライドし、任意の条件に応じて im_url 付きの URL を返却するように実装します。
[*1] UtilityItemProvider インタフェースを実装した製品標準のログインログアウト用クラス
-- 参考 --
■ intra-mart Accel Platform テーマ仕様書 - テーマの詳細 - テーマモジュール
https://document.intra-mart.jp/library/iap/public/im_ui/im_theme_specification/texts/components/ThemeModule.html?highlight=LoginLogoutItemProvider
■ intra-mart Accel Platform テーマ仕様書 - ユーティリティプラグイン
https://document.intra-mart.jp/library/iap/public/im_ui/im_theme_specification/texts/appendix/utility_plugin.html
-- 例 --
package sample;
import jp.co.intra_mart.foundation.context.Contexts;
import jp.co.intra_mart.foundation.context.model.AccountContext;
public class LoginLogoutItemWithExternalLinkProvider extends jp.co.intra_mart.foundation.ui.tags.theme.utility.LoginLogoutItemProvider {
@Override
public String getUrl() {
final AccountContext context = Contexts.get(AccountContext.class);
if (context.isAuthenticated()) {
return "logout?im_url=/home";
} else {
return "login";
}
}
}
(3) 以下の plugin.xml にて、プラグインクラス名を前項 (2) で作成したクラスへ変更します。
WEB-INF/plugin/jp.co.intra_mart.foundation.ui.theme.utility.item.loginlogout/plugin.xml
-- 例 --
<extension point="jp.co.intra_mart.foundation.ui.theme.utility.item">
<item
id="loginlogout"
name="loginlogout"
classname="sample.LoginLogoutItemWithExternalLinkProvider"
version="1.0"
rank="100"/>
</extension>
*上記に記載の(例)につきましては、あくまでサンプルです。
実装を行う場合は、お客様にて、十分な検証をお願いします。
(参考事項)
IM-BloomMaker の「サイドメニューコンテナ」エレメントを使用して作成された画面において、サイドメニューの「ログアウト」メニューを選択した場合にも、ログイン画面へ遷移します。
こちらにつきましては遷移先を変更することはできません。
■ IM-BloomMaker for Accel Platform IM-BloomMaker ユーザ操作ガイド - 付録 - エレメント一覧 - 標準部品 - レイアウト - サイドメニューコンテナ
https://document.intra-mart.jp/library/bloommaker/public/im_bloommaker_user_guide/texts/appendix/elements/regular.html#imsidemenucontainer
-- 対象 ------------------------------------------------------------------------
iAP/Accel Platform/全アップデート
--------------------------------------------------------------------------------
FAQID:1243
ログアウト後の遷移先を変更できますか?
