legacy-knowledge-base
公開されました Jul. 2, 2025

管理者の役割を持たないユーザーは、expando フィールドを使用している場合、SP で SSO を開始できません

written-by

Aaron Wang

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

問題

  • expando フィールドを「Name Identifier Attribute Name=expando:concurid」として使用する場合、管理者ロールを持たないユーザーは SSO を開始できません。 再現する手順:
    • IdP 側
      1. ユーザー用のカスタム フィールド「field1」を追加します。
      2. SAML Admin > Service Provider Connections に移動し、"Name Identifier Format=Persistent"、"Name Identifier Attribute Name=expando:field1" であることを確認します。
      3. インスタンス設定で認証方法を「スクリーンネーム」に変更します。
    • SP終了時
      1. go から SAML 管理者 > サービス プロバイダーへの接続。 「Name Identifier Format = Persistent」を確認してください
      2. インスタンス設定で認証方法を「スクリーンネーム」に変更します。
    • SP が SSO を開始した場合、現在のユーザーが管理者の役割を持っていない場合、UI エラー「SAML 要求を処理できませんが発生し、次のエラーがログに報告されます
      2021-01-29 02:32:24.451 ERROR [http-nio-8080-exec-2][BaseSamlStrutsAction:59] Screen name must not be null for user 36220
    • SAML 応答を確認すると、値「null」が確認できます。
      <saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">null</saml2:NameID>

Environment

  • Liferay DXP 7.1

解決策

  • この問題は、ユーザーがカスタム フィールド値を読み取る権限を持っていないため、スクリーン名が null として表示されることが原因で発生します。
  • この問題を解決するには、次の手順を使用して、「ユーザー」ロールの拡張フィールド「表示」権限を付与します。
    1. コントロール パネル > 構成 > カスタム フィールド > ユーザーに移動します。
    2. カスタマイズした expando フィールドへのアクセス許可を編集し、ユーザー ロールに「表示」アクセス許可を追加します。
did-this-article-resolve-your-issue

legacy-knowledge-base