Dernière mise à jour le
2 mai 2021
Problème
Dans AEM 6.2, lorsque les utilisateurs LDAP se connectent et accèdent à /welcome.html, l'écran d'accueil de l'interface utilisateur classique affiche leur DN LDAP complet à côté du lien "Déconnexion" dans le coin supérieur droit de l'écran.
Cause
Ceci est un problème avec l'interface utilisateur classique dans AEM 6.2.
Résolution
Pour résoudre ce problème, vous pouvez modifier le code du produit en ajoutant une superposition de welcome.jsp.
- Accédez à http://host:port/crx/de/index.jsp et connectez-vous en tant qu'administrateur.
- Accédez à /apps et créez la structure de dossiers /apps/cq/core/components.
- Cliquez sur Tout enregistrer.
- Accédez à /libs/cq/core/components.
- Cliquez avec le bouton droit de la souris sur le sous-nœud welcome et sélectionnez Copy.
- Accédez à /apps/cq/core/components.
- Cliquez avec le bouton droit sur le nœud composants et sélectionnez Coller.
- Ouvrez le fichier /apps/cq/core/components/welcome/welcome.jsp pour le modifier.
- Ajoutez ce code [1] après ces lignes [2].
- Cliquez sur Tout enregistrer.
Lorsque les utilisateurs se connectent, ils voient leurs noms complets affichés.
[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(); }
Telechargement
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?