AEM にインストールされた Oak バージョンと一致する oak-run のバージョンをダウンロードします。
問題点
CQ 5.x または AEM 6.0 から AEM 6.0 SP3、6.1、または 6.2 にアップグレードした後、既存の LDAP ユーザーは AEM にログインすることができません。
原因
これは、LDAP 接続ユーザーノードのプロパティが変更されたときに発生する既知の問題です。
解決策
既存の LDAP ユーザーを削除し自動的に再同期させるか、または以下の手順を実行します:
-
-
添付の setRepExternalId.groovy をダウンロードします。
-
AEM サーバーに oak-run とグルービースクリプトの両方をアップロードします。
-
AEM を停止します。
-
oak-run コンソールを開くには、次のコマンドを実行します。(crx-quickstart/repository/segmentstore を AEM インスタンスの repository/segmenstore へのパスと置き換えます)。
java -Xmx2048m -jar oak-run-*.jar console crx-quickstart/repository/segmentstore
-
コンソールに次のコマンドを入力します:(ldap パラメーターを LDAP ID プロバイダー OSGi 設定の名前と一致するように置き換えます。例えば、IDP 名が ldap として OSGi 設定にて設定されている場合、jsp にてでもそのように名前を変更します。
:load setRepExternalId.groovy new FixLDAPUsers().setRepUserProps(session, "/home", "ldap")
結果として、rep: externalId および rep: authorizableId を表示している AEM の全ての LDAP ユーザーとグループが設定されている出力で、ドライランが実行されます。
-
出力に満足した場合は、次の手順に進みます。
-
手順 6 からコマンドを再度実行し、今回はパラメーター false を最後に追加します。変更が適用されます。(再度、ldap を設定名と一致するように変更してください)。
:load setRepExternalId.groovy new FixLDAPUsers().setRepUserProps(session, "/home", "ldap", false)
-
http://aem-host:port/crx/de/index.jsp に移動し管理者としてログインします。
-
/oak: index を参照します。
-
存在する場合、プロパティー reindex=true を以下のインデックスに設定します:
- /oak:index/externalId
- /oak:index/authorizableId
- /oak:index/authorizables
-
「すべて保存」をクリックします。
インデックス作成は、システムが終了するまでハングする原因となります。
-
ログが完了するまでログを監視します。
その結果、ユーザーがシステムにログインすることができます。
アカウントにログイン