作成者か公開かを確認する

問題点

コードが作成者または発行インスタンスで実行されているかどうかを確認するには

解決策

CQ のオーサリング環境でコードが実行されているかどうかを確認する最善の方法は、次のとおりです。
DeliveryHttpServletRequest cqRequest = (DeliveryHttpServletRequest) request; // flag to indicate whether application is Author or Publish boolean isAdmin = !cqRequest.getCmsService().getDisplayControlSet(cqRequest).equals(DisplayControlSet.SHOW); // flag to indicate whether application is in preview/show mode boolean isShowMode = (cqRequest.getCmsService().getDisplayControlSet(cqRequest).equals(DisplayControlSet.SHOWMODE) || "ShowMode".equals(cqRequest.getParameter("Show")) );

このコードは変更可能な特定のコンテキストに依存しないので、URL をチェックするよりもこの方法が適しています。また、作成者サーバーは「表示」パラメーターを 1 に設定することで、公開モードに切り替えることができます。したがって、/author/somepage.html?Show=1への要求が公開状態になります。したがって、コンテキストへの依存は信頼できるソリューションではありません。

 Adobe

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2024

Adobe MAX
クリエイティブカンファレンス

10 月 14 日~ 16 日 マイアミビーチおよびオンライン

Adobe MAX

クリエイティブカンファレンス

10 月 14 日~ 16 日 マイアミビーチおよびオンライン

Adobe MAX 2024

Adobe MAX
クリエイティブカンファレンス

10 月 14 日~ 16 日 マイアミビーチおよびオンライン

Adobe MAX

クリエイティブカンファレンス

10 月 14 日~ 16 日 マイアミビーチおよびオンライン