Get a JSON request from http://aem-host:port/bin/security/authorizables.json.
Issue
The following error occurs while accessing the /useradmin UI:
*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
Environment
AEM 6.1 and 6.2.
Cause
Users set as impersonator do not exist anymore in AEM.
Resolution
Install the latest Cumulative Fix Pack for AEM 6.1 or 6.2.
Following are the steps to use as a workaround until the fix pack is applied:
-
-
Analyze the JSON and find the first error related to sudoers (impersonators), for example:
Following is the json data displayed before the errors:
{ "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>
-
Use CRXDE to search the user jsmith with the XPath query, for example: /jcr:root/home/users//element(*,rep:User)[@rep:principalName="jsmith"].
-
Review the user's rep: impersonators property and find the name of an orphaned impersonator.
-
Find a complete list of users with the orphaned impersonator: /jcr:root/home/users//element(*,rep:User)[@rep:impersonators="jsmith"].
-
Use /useradmin to create orphaned impersonator "jsmith".
-
From /useradmin, find all users with the step 5, go to the Impersonators tab, and remove jsmith. Ensure to click Save.
-
Delete orphaned impersonator jsmith.
-
Repeat the steps if you have more than one orphaned impersonator.