Announcing new, role-based Learning Paths and Certifications for Content Managers and Frontend Developers! Learn More
legacy-knowledge-base
公開されました Sep. 10, 2025

groupId(サイトID)と同じスクリーンネームを持つユーザーを作成できない。

written-by

Prarthana Jadhav

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

問題

  • ケース1:Liferayポータルにユーザーを作成する場合
    • groupIdと同じ画面名のユーザーを作成しようとすると、 "Please enter a valid Screen name" 例外がUIに発生し、ユーザーが作成されない。
  • ケース2:LDAPからユーザーをインポートする場合
    • groupIdと同じスクリーンネームを持つユーザーをインポートしようとすると、以下のエラーが発生し、Liferayポータルにユーザーがインポートされないことがあります。
    com.liferay.portal.kernel.exception.UserScreenNameException$MustNotBeUsedByGroup: Screen name 00512762 for user 1896464 must not be used by group 512762

環境

  • Liferay DXP 7.0

これは、すべてのLiferayバージョンに適用されます。

解像度

  • これはLiferayの意図した動作です。 その理由は、以下の通りです。
    • スクリーンネームに数字が使えるようになると、URLの衝突が起こる可能性があります。
      • 下の例で説明します。
        • サイトのgroupIdの値が10000の場合、このサイトにアクセスするための次のURLは次のようになります:
          / web / 10000 / home
        • あるユーザーが10000の値を持つスクリーンネームを持つ場合、次のURLでそのユーザーの個人サイトにアクセスすることができます:
          /web/10000/home
        • そのため、ユーザーとサイトが共存できないのは、あいまいさが生じるからです
  • スクリーンネームとgroupIdの衝突を回避するために、以下のような代替手段をとることができます:
    1. 最初のアプローチは、 LPS-15255,で紹介されています。
    • つまり、Liferay Databaseにある "Counter "テーブルで、"com.liferay.counter.model.Counter "の値を現在の値からスクリーン名の可能範囲外のものに変更します。 この変更後、新しく作られるサイトや組織は、この新しい番号に基づくため、スクリーンネームと競合することはありません。
    2. 2つ目の回避策は、スクリーンネームを接頭辞付きでデータベースに保存することです。
    • 例えば、screenNameフィールドに特定の文字を自動的に付加するようなロジックを記述することができる。 例. screenName:10000の場合、screenNameを "10000_i "に変更することができる。
  • 上記の2つのアプローチは、Groovyスクリプトを作成することで実現できます 徹底的なテストと影響を受ける領域を検討します。

追加情報

LiferayはDBを手動で操作することを強く推奨していないため、どちらのアプローチもgroovyスクリプトを書く必要があり、チームの強い意志で実装する必要があることに注意してください。 Liferay サポートは、カスタマイズの設計や実装を支援することはできません。

  • 上記の作業を行う前に、データベースのバックアップをとってください。
did-this-article-resolve-your-issue

legacy-knowledge-base

Capabilities

Product

Education

Knowledge Base

Contact Us


Powered by Liferay
© 2025 Liferay Inc. All Rights Reserved • Privacy Policy