問題点

CQ 5.x または AEM 6.0 から AEM 6.0 SP3、6.1、または 6.2 にアップグレードした後、既存の LDAP ユーザーは AEM にログインすることができません。 

原因

これは、LDAP 接続ユーザーノードのプロパティが変更されたときに発生する既知の問題です。

解決策

既存の LDAP ユーザーを削除し自動的に再同期させるか、または以下の手順を実行します:

  1. AEM にインストールされた Oak バージョンと一致する oak-run のバージョンをダウンロードします。

  2. 添付の setRepExternalId.groovy をダウンロードします。

  3. AEM サーバーに oak-run とグルービースクリプトの両方をアップロードします。

  4. AEM を停止します。

  5. oak-run コンソールを開くには、次のコマンドを実行します。(crx-quickstart/repository/segmentstore を AEM インスタンスの repository/segmenstore へのパスと置き換えます)。

    java -Xmx2048m -jar oak-run-*.jar console crx-quickstart/repository/segmentstore
  6. コンソールに次のコマンドを入力します:(ldap パラメーターを LDAP ID プロバイダー OSGi 設定の名前と一致するように置き換えます。例えば、IDP 名が ldap として OSGi 設定にて設定されている場合、jsp にてでもそのように名前を変更します。

    :load setRepExternalId.groovy
    new FixLDAPUsers().setRepUserProps(session, "/home", "ldap")

    結果として、rep: externalId および rep: authorizableId を表示している AEM の全ての LDAP ユーザーとグループが設定されている出力で、ドライランが実行されます。  

  7. 出力に満足した場合は、次の手順に進みます。

  8. 手順 6 からコマンドを再度実行し、今回はパラメーター false を最後に追加します。変更が適用されます。(再度、ldap を設定名と一致するように変更してください)。

    :load setRepExternalId.groovy
    new FixLDAPUsers().setRepUserProps(session, "/home", "ldap", false)
  9. http://aem-host:port/crx/de/index.jsp に移動し管理者としてログインします。

  10. /oak: index を参照します。

  11. 存在する場合、プロパティー reindex=true を以下のインデックスに設定します:

    • /oak:index/externalId
    • /oak:index/authorizableId
    • /oak:index/authorizables
  12. すべて保存」をクリックします。

    インデックス作成は、システムが終了するまでハングする原因となります。 

  13. ログが完了するまでログを監視します。
    その結果、ユーザーがシステムにログインすることができます。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー