最終更新日 :
Apr 27, 2021 11:51:33 PM GMT
問題点
AEM 6.2で、LDAP ユーザーが /welcome.html にログインして、アクセスすると、クラシック UI スタートアップスクリーンは、画面の右上の「サインアウト」リンクの横にある、全 LDAP DN を表示します。
原因
これは、AEM 6.2 のクラシック UI の問題です。
解決策
この問題を修正するには、welcome.jsp のオーバーレイを追加して製品コードを変更します。
- http://host:port/crx/de/index.jsp に移動し、管理者権限でログインしてください。
- /apps を参照し、フォルダー構造 /apps/cq/core/components を作成します。
- 「すべて保存」をクリックします。
- /libs/cq/core/components の参照
- スタートアップサブノードを右クリックして「コピー」を選択します。
- /apps/cq/core/components に戻る
- コンポーネントノードを右クリックしてペーストを選択します。
- 編集するファイル、/apps/cq/core/components/welcome/welcome.jsp を開きます。
- これらの行 [2] の後にこのコード [1] を追加します。
- 「すべて保存」をクリックします。
ユーザーがログインすると、フルネームが表示されます。
[1]
org.apache.jackrabbit.api.security.user.UserManager userManager = resourceResolver.adaptTo(org.apache.jackrabbit.api.security.user.UserManager.class); org.apache.jackrabbit.api.security.user.Authorizable authorizable = userManager.getAuthorizable(auth.getPrincipal()); if (authorizable.hasProperty("profile/familyName")) { name = authorizable.getProperty("profile/familyName")[0].getString(); } if (authorizable.hasProperty("profile/givenName")) { name = authorizable.getProperty("profile/givenName")[0].getString() + ((name.length() > 0)?" " + name:""); }
[2]
String name = auth == null ? null : auth.getPrincipal().getName(); if (name == null) { // workaround if user manager service is not ready yet. name = session.getUserID(); }
ダウンロード
アカウントにログイン