retrieve resourceresolver as logged in user | Community
Skip to main content
mohanb
Level 4
October 12, 2016
Solved

retrieve resourceresolver as logged in user

  • October 12, 2016
  • 4 replies
  • 2012 views

Hi

how do we retrieve resourceresolver on behalf of logged in user? in this case, am getting anonymous as value when getUserID() method is called. Also, what's the difference when we retrieve resource resolver via getResourceResolver(userInfo) and getThreadResourceResolver(). From the logs seems like they both reference to same resolver object instance and no difference in log values.

Map<String,Object> userInfo = new HashMap<String, Object>();

userInfo.put(ResourceResolverFactory.SUBSERVICE, "myuser");

ResourceResolver resourceResolver = resourceFactory.getResourceResolver(userInfo);

ResourceResolver resourceResolverCurrentThread = resourceFactory.getThreadResourceResolver();

            

logger.info("resource resolver {}",resourceResolver.toString());

logger.info("resource resolver {}",resourceResolver.getUserID());

logger.info("resource resolver {}",resourceResolver.isLive());

logger.info("thread resource resolver {}",resourceResolverCurrentThread.toString());

logger.info("thread resource resolver {}",resourceResolver.getUserID());

logger.info("thread resource resolver {}",resourceResolver.isLive());

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

4 replies

Feike_Visser1
Adobe Employee
Adobe Employee
October 13, 2016

If you pass through things like resourceResolver /  resource from user's request you get the right object/permissions based on the user.

When getting the resource-resolver via the factory it is disconnected from the user

mohanb
mohanbAuthor
Level 4
October 13, 2016

Hi

how do we retrieve from resourceresolver of user request?

Feike_Visser1
Adobe Employee
Feike_Visser1Adobe EmployeeAccepted solution
Adobe Employee
October 13, 2016