AccessDeniedException error on loading client libraries | AEM 6.2

This article explains how to fix client libraries that are broken due to AccessDeniedException.

Issue

Your AEM pages are not loading JavaScript or CSS and you see the following error in the log file:

22.11.2016 17:16:56.789 *ERROR* [192.150.10.207 [1479853014365] GET /content/www/en-us/homepage.html HTTP/1.1] com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl Cannot load js libraries
javax.jcr.AccessDeniedException: null
at org.apache.jackrabbit.oak.jcr.session.NodeImpl$1.perform(NodeImpl.java:177)
at org.apache.jackrabbit.oak.jcr.session.NodeImpl$1.perform(NodeImpl.java:168)
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:208)
at org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:112)
at org.apache.jackrabbit.oak.jcr.session.NodeImpl.getParent(NodeImpl.java:168)
at com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl.loadLibrary(HtmlLibraryManagerImpl.java:1545)
at com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl.loadLibs(HtmlLibraryManagerImpl.java:1475)
at com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl.assertLoaded(HtmlLibraryManagerImpl.java:1336)
at com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl.assertResolved(HtmlLibraryManagerImpl.java:1354)
at com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl.getLibrary(HtmlLibraryManagerImpl.java:982)
at com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl.getLibrary(HtmlLibraryManagerImpl.java:967)
at com.adobe.acs.commons.rewriter.impl.VersionedClientlibsTransformerFactory.getVersionedPath(VersionedClientlibsTransformerFactory.java:201)
at com.adobe.acs.commons.rewriter.impl.VersionedClientlibsTransformerFactory.rebuildAttributes(VersionedClientlibsTransformerFactory.java:148)
at com.adobe.acs.commons.rewriter.impl.VersionedClientlibsTransformerFactory.versionClientLibs(VersionedClientlibsTransformerFactory.java:138)
at com.adobe.acs.commons.rewriter.impl.VersionedClientlibsTransformerFactory.access$200(VersionedClientlibsTransformerFactory.java:82)
at com.adobe.acs.commons.rewriter.impl.VersionedClientlibsTransformerFactory$VersionableClientlibsTransformer.startElement(VersionedClientlibsTransformerFactory.java:245)

Environment

AEM 6.2 and later versions

Cause

The clientlibs-service user is missing or missing permissions.

Resolution

To get rid of the AccessDeniedException and fix the issue, follow these steps:

  1. Go to http://host:port/crx/de/index.jsp web app and log in as admin.

  2. Browse to the folders below and validate that clientlibs-service user has these permissions:

    • /apps Allow jcr:read
    • /libs Allow jcr:read
    • /etc Allow jcr:read
    • /var/clientlibs Allow jcr:read, rep:write

    To view permissions, browse to the node you want to view or modify permissions for. Then, on the lower-right panel of CRXDE click the Access Control tab.

    If the clientlibs-service user itself is missing, then go to a working AEM instance and create a package of the path /home/users/system/clientlibs-service. Then install that to your broken instance.

 Adobe

Get help faster and easier

New user?

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX 2024

Adobe MAX
The Creativity Conference

Oct 14–16 Miami Beach and online

Adobe MAX

The Creativity Conference

Oct 14–16 Miami Beach and online