Problem

Der folgende Fehler tritt beim Zugriff auf die Benutzeroberfläche /useradmin auf:

*ERROR* [192.150.9.201 [1487700210814] GET /bin/security/authorizables.json HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Uncaught Throwable
java.lang.NullPointerException: null

Umgebung

AEM 6.1 und 6.2.

Ursache

Benutzer, die als Darsteller festgelegt wurden, sind in AEM nicht mehr vorhanden.

Lösung

Installieren Sie das neueste kumulative Fixpack für AEM 6.1 oder 6.2.

Im Folgenden sind die Schritte aufgeführt, die als Workaround verwendet werden sollen, bis das Fixpack angewandt wurde:

  1. Rufen Sie eine JSON-Anforderung von http://aem-host:port/bin/security/authorizables.json ab.

  2. Analysieren Sie das JSON und finden Sie den ersten Fehler in Bezug auf Sudoer (Darsteller), zum Beispiel:
    Nachfolgend sind die JSON-Daten aufgeführt, vor den Fehlern:

    {
    "country":"United States",
    "country_xss":"United States",
    "phoneNumber":"6142384107",
    "phoneNumber_xss":"6142384107",
    "familyName":"Smith",
    "familyName_xss":"Smith",
    "givenName":"John",
    "givenName_xss":"John",
    "jcr:created":"2015-08-21T13:24:39.205-04:00",
    "jcr:createdBy":"admin",
    "principal":"jsmith",
    "memberOf":[ ],
    "memberOfTotal":251,
    "rep:userId":"jsmith",
    "sudoers":[ 
    { 
    "id": <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
    <html> 
    <head><title>500 Internal Server Error</title></head> 
    <body> 
    <h1>Internal Server Error</h1>
  3. Verwenden Sie CRXDE, um den Benutzer „jsmith“ mit der XPath-Abfrage zu suchen, zum Beispiel: /jcr:root/home/users//element(*,rep:User)[@rep:principalName="jsmith"].

  4. Überprüfen Sie die „rep:impersonators“-Eigenschaft des Benutzers und suchen Sie den Namen eines verwaisten Darstellers.

  5. Finden Sie eine vollständige Liste von Benutzern mit dem verwaisten Darsteller: /jcr:root/home/users//element(*,rep:User)[@rep:impersonators="jsmith"].

  6. Verwenden Sie /useradmin, um den verwaisten Darsteller „jsmith“ zu erstellen.

  7. Suchen Sie von /useradmin alle Benutzer mit Hilfe von Schritt 5, gehen Sie zur Registerkarte Darsteller und entfernen Sie jsmith.  Stellen Sie sicher, dass Sie auf Speichern klicken.

  8. Löschen Sie den verwaisten Darsteller jsmith.

  9.  Wiederholen Sie die Schritte, wenn Sie mehr als ein verwaisten Darsteller haben.

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie