問題
- ユーザがログインしていない状態でプライベートページにアクセスしようとしたときに、デフォルトのサインインポートレットの代わりにカスタムログインページを表示する必要があります。
- プライベート・ページとパブリック・ページにゲスト・ユーザーの閲覧権限がありません。
環境
- Liferay DXP 7.4
解像度
- 以下は、この要件を達成するためのステップである:
-
portal-ext.properties
ファイルに以下のプロパティを設定する:"auth.login.site.url=/sign-in"、"auth.login.url=/sign-in" - ポータルを開始。
- コントロールパネル > システム設定 > OTHER > リリース機能フラグ "の "無効な機能 "ドロップダウンを "プライベートページを無効にする "に変更し、プライベートページのリリース機能フラグを削除しました。
- デフォルト・サイトの /guest "Friendly URL"(「メニュー > 設定 > サイト設定 > サイト設定 > サイトURL」)を次のように変更。
/abc
に変更しました。 - 作成された
/サインイン
public pageを作成し、そこにサインインウィジェットを設置しました。 - GuestユーザーのVIEW権限を削除して、
/restrictedpublic ページを作成しました。
-
/private-homeprivate ページを作成。
- また、ここで'Prompt Enabled'オプションを有効にする[User-is-redirected-the-404-page-instead-of-the-login-page-when-the-session-expires]。
-
- さて、このユースケースについて上記の手順をテストしてみよう:
-
Guestユーザーが6番目と7番目のステップで作成した両方のページをヒットすると、
/sign-in 公開ページにつながるはずです。
例えば、URLパターンは次のようになる:
制限付き公開ページ:localhost:8080/web/abc/restricted-public-page
プライベートページ: localhost:8080/group/abc/private-home-page
-
追加情報