問題
- Liferay DXPで作成されたWebサイトのトップページのHTMLソースを開くと、以下のスクリプトが注入されていることに気づくかもしれません:
Liferay.Session = new Liferay.SessionBase({
autoExtend: !0,
redirectOnExpire: !0,
redirectUrl: "https://www.myproductionwebsite.com/web/guest/home",
sessionLength: 900,
warningLength: 0
});
現実のシナリオでは、/web/guest/homeというパスが存在しない場合がほとんどで、その結果、DXPユーザーはセッション終了時に存在しないページに移動してしまうからです。
Environment
- Liferay DXP 7.0+
解決策
-
ポータルのインターフェースから
/web/guest/home
の部分を活用することができます。左 製品メニュー > コントロールパネル > 設定 > インスタンス設定 > 設定 > ナビゲーション > ホーム URL では、ツールチップに次のように記載されています:"Liferay "インスタンスのトップページです。 例えば、ホームページを http://localhost:8080/web/guest/homeにしたい場合は、これを /web/guest/home に設定します。"
追加情報
- タグは次のコードで注入されます: https://github.com/liferay/liferay-portal/blob/7.0.x/portal-web/docroot/html/common/themes/session_timeout.jspf#L34
redirectOnExpire: <%= SSOUtil.isSessionRedirectOnExpire(themeDisplay.getCompanyId()) %>