Ultimo aggiornamento il
3 mag 2021
Problema
In AEM6.2, quando gli utenti LDAP accedono e vanno su /welcome.html, la schermata di benvenuto dell'interfaccia utente classica mostra il loro LDAP DN completo accanto al link "sign-out" in alto a destra dello schermo.
Causa
Questo è un problema con l'interfaccia utente classica in AEM6.2.
Risoluzione
Per risolvere questo problema, puoi modificare il codice del prodotto aggiungendo una sovrapposizione di welcome.jsp.
- Vai su http://host:port/crx/de/index.jsp e accedi come amministratore.
- Passa a /apps e crea la struttura di cartelle /apps/cq/core/components.
- Fai clic su Salva tutto.
- Vai a /libs/cq/core/componenti.
- Fai clic con il tasto destro del mouse sul sottonodo di benvenuto e seleziona Copia.
- Torna a /apps/cq/core/components.
- Fai clic con il tasto destro del mouse sul nodo dei componenti e seleziona Incolla.
- Apri il file /apps/cq/core/components/welcome/welcome.jsp per l'editing.
- Aggiungi questo codice [1] dopo queste righe [2].
- Fai clic su Salva tutto.
Quando gli utenti effettuano il login, vedono visualizzati i loro nomi completi.
[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(); }
Scarica