legacy-knowledge-base
公開されました Jun. 30, 2025

デバッグログに「DuplicateSamlIdpSsoSessionException」を取得する

written-by

Madhusudan Sharma

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

問題

ユーザは、SAML 環境で断続的にログインの問題に直面しているが、ログ・ファイルに以下のエラーが頻 繁に記録されている:

DEBUG [default task-73687][BaseSamlStrutsAction:61] null
com.liferay.saml.persistence.exception.DuplicateSamlIdpSsoSessionException: Duplicate SAML IDP SSO session for 

環境

  • Liferay DXP 7.4

解像度

この問題を解決するのに役立つかもしれない提案は以下の通り:

  • 一般に、SSO プロセスは SAML SSO 要求を識別するので、そのポータル・プロセスのセッションはまったく新しいものとして作成される。
  • しかし、ポータル側にすでにセッションが存在する場合、このエラーが発生する可能性があります。 Liferay ポータルは リクエストにSAML_SSO_SESSION_ID値がない場合、SAML SSO リクエストとそのセッションを新しいものとして扱う ことに注意してください。
  • その他の原因としては、DBレベルでのエンティティID生成の不一致が考えられます。
  • エンティティ ID 生成の不一致を確認するために、com.liferay.saml.persistence.model.SamlIdpSsoSessionという名前のエントリのCounterDB テーブルのcurrentIdフィールドの値が、SamlIdpSsoSessionDB テーブルのsamlIdpSsoSessionIdの最高値より大きいかどうかを確認する。
  • SamlIdpSsoSession作成ロジックは、このcurrentId値を使用して、新しいSamlIdpSsoSessionエンティティのsamlIdpSsoSessionId値を生成する。
  • currentId値が低い場合は、SamlIdpSsoSessionDB テーブルのsamlIdpSsoSessionIdの最高値よりも高く設定する。

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base