legacy-knowledge-base
公開されました Sep. 10, 2025

JavascriptでLiferayのセッションIDを取得する

written-by

Adam Kollar

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • Liferay.ThemeDisplay.getSessionId() 関数は一貫して空の文字列を返すので、JavaScriptを使ってセッションIDを抽出することはできません。

Environment

  • Liferay DXP 7.4

解決策

  • デフォルトでは、 Liferay.ThemeDisplay.getSessionId() 関数は常に空白の文字列を返します。 これを変更するには、設定を調整する必要があります。

  • このように、問題を解決することができます:

    1. portal-ext.propertiesファイル内のプロパティ 'session.enable.url.with.session.id' を 'true' に設定する必要があります。
    2. この変更を行うと、 Liferay.ThemeDisplay.getSessionId() 関数を使ってセッションIDを取得することができます。

追加情報

  • このソリューションでは、セッションIDを取得することができますが、潜在的なリスクを理解することが非常に重要です:

    • セッションIDの可視化に伴う潜在的なセキュリティリスクから保護するため、「session.enable.url.with.session.id」プロパティは通常「false」に設定されています。

    • セッション識別子をCookieに保持することは、一般的に安全で効率的です。

    • これは、セッションIDがURLに添付されている場合、コードがこのシナリオを適切に管理しなければ、そのURLを共有すると、受信者に不注意でセッションを共有してしまう危険性があるからです。

  • Liferayの セッション管理に関する詳細は、リンクを参照してください。
did-this-article-resolve-your-issue

legacy-knowledge-base