Zuletzt aktualisiert am
1. Mai 2021
Problem
Wenn sich LDAP-Benutzer in AEM 6.2 einloggen und auf /welcome.html gehen, zeigt der Begrüßungsbildschirm der Classic UI ihren vollständigen LDAP-DN neben dem Link „Abmelden“ oben rechts auf dem Bildschirm an.
Ursache
Dies ist ein Problem mit der klassischen Benutzeroberfläche in AEM 6.2.
Lösung
Um dieses Problem zu beheben, können Sie den Produktcode ändern, indem Sie ein Infotext von „welcome.jsp“ hinzufügen.
- Gehen Sie auf http://host:port/crx/de/index.jsp und melden Sie sich als Administator an.
- Navigieren Sie zu /apps und erstellen Sie die Verzeichnisstruktur /apps/cq/core/components.
- Klicken Sie auf Alle Speichern.
- Geben Sie im Browser die URL /libs/cq/core/components ein.
- Klicken Sie mit der rechten Maustaste auf den Unterknoten Willkommen und wählen Sie Kopieren.
- Gehen Sie zurück zu /apps/cq/core/components.
- Klicken Sie mit der rechten Maustaste auf den Knopf Komponenten und wählen Sie Einfügen.
- Öffnen Sie die Datei "/apps/cq/core/components/welcome/welcome.jsp" zur Bearbeitung.
- Fügen Sie diesen Code [1] nach diesen Zeilen [2] ein.
- Klicken Sie auf Alle Speichern.
Wenn Benutzer sich anmelden, werden ihre vollständigen Namen angezeigt.
[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(); }
Herunterladen