Principal is not contained in config, hence not cleaning its ACE from non-config-contained path | Community
Skip to main content
Level 3
May 10, 2024
Solved

Principal is not contained in config, hence not cleaning its ACE from non-config-contained path

  • May 10, 2024
  • 2 replies
  • 636 views

I am using AEM as a cloud service and installed netcentric tool. I have been getting this error from AEM error log:

 

Principal {} is not contained in config, hence not cleaning its ACE from non-config-contained path

 

I saw this error message is coming from this code: https://github.com/Netcentric/accesscontroltool/blob/develop/accesscontroltool-bundle/src/main/java/biz/netcentric/cq/tools/actool/impl/AcInstallationServiceImpl.java

 

 

 

 

private Set<String> getRelevantPathsForAceCleanup(Set<String> authorizablesInConfig, Map<String, Set<AceBean>> repositoryDumpAceMap, AcesConfig aceBeansFromConfig) { // loop through all ACLs found in the repository Set<String> relevantPathsForCleanup = new HashSet<String>(); for (Map.Entry<String, Set<AceBean>> entry : repositoryDumpAceMap.entrySet()) { Set<AceBean> existingAcl = entry.getValue(); for (AceBean existingAceFromDump : existingAcl) { String jcrPath = existingAceFromDump.getJcrPath(); String principalName = existingAceFromDump.getPrincipalName(); if (aceBeansFromConfig.containsPath(jcrPath)) { LOG.trace("Path {} is explicitly listed in config and hence that ACL is handled later, " + "not preceding cleanup needed here", jcrPath); continue; } if (!authorizablesInConfig.contains(principalName)) { LOG.debug("Principal {} is not contained in config, hence not cleaning its ACE from non-config-contained " + "path {}", principalName, jcrPath); continue; } relevantPathsForCleanup.add(jcrPath); } } return relevantPathsForCleanup; }

 

 Does anyone know where is `authorizablesInConfig` referred to in AEM and how can I include this principalName?

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by TarunKumar

Hi @aemuser2345 ,

authorizablesInConfig is basically a principalToRemoveAccessFor param that is passed in below function 

 removeAcesForPathsNotInConfig(installLog, session, principalsToRemoveAcesFor, repositoryDumpAceMap, acConfiguration);

 On further look up you could see that this is basically coming from below class, i.e AcConfiguration.java
https://github.com/Netcentric/accesscontroltool/blob/develop/accesscontroltool-bundle/src/main/java/biz/netcentric/cq/tools/actool/configmodel/AcConfiguration.java

 

There is getter in above class named as getAuthorizablesConfig.


Hope it helps!

Thanks
Tarun

2 replies

TarunKumar
Community Advisor
TarunKumarCommunity AdvisorAccepted solution
Community Advisor
May 15, 2024

Hi @aemuser2345 ,

authorizablesInConfig is basically a principalToRemoveAccessFor param that is passed in below function 

 removeAcesForPathsNotInConfig(installLog, session, principalsToRemoveAcesFor, repositoryDumpAceMap, acConfiguration);

 On further look up you could see that this is basically coming from below class, i.e AcConfiguration.java
https://github.com/Netcentric/accesscontroltool/blob/develop/accesscontroltool-bundle/src/main/java/biz/netcentric/cq/tools/actool/configmodel/AcConfiguration.java

 

There is getter in above class named as getAuthorizablesConfig.


Hope it helps!

Thanks
Tarun

kautuk_sahni
Community Manager
Community Manager
June 10, 2024

@aemuser2345 Did you find the suggestion helpful? Please let us know if you require more information. Otherwise, please mark the answer as correct for posterity. If you've discovered a solution yourself, we would appreciate it if you could share it with the community. Thank you!

Kautuk Sahni