Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Give permission to a Group by using Workflows

Avatar

Level 4

We have a requirement where we have to provide permissions to different groups by using workflows. I am not able to find the API which I can use to add the path to the respective groups.

@arunpatidar @Lokesh_Shivalingaiah 

1 Accepted Solution

Avatar

Correct answer by
Level 2
4 Replies

Avatar

Correct answer by
Level 2

Avatar

Level 4

Thanks, for the help, i have implemented the same code from this. But when i am trying to add a group to another group as members, It is not getting added and no Error is also displaying.

Map<String, Object> subServiceParameters = new HashMap<>();
subServiceParameters.put(ResourceResolverFactory.SUBSERVICE, GlobalConstants.SERVICE_USER_MAPPER_NAME);
ResourceResolver resourceResolver = resourceResolverFactory.getServiceResourceResolver(subServiceParameters);

UserManager userManager = workflowSession.adaptTo(ResourceResolver.class).adaptTo(UserManager.class);
Group group = (Group) userManager.getAuthorizable("COMPANY_ADMINISTRATORS");
group.addMember(userManager.getAuthorizable("COMPANY_TAG_ADMINISTRATORS"));
Session session = resourceResolver.adaptTo(Session.class);
session.save();

Avatar

Level 2

Hi Ashish,

 

The issue is because the operation is done on two different sessions. the user manager has been created from workflow session and the session that is saved is the administrative session created from service user. Please try saving the workflow session that should add the group.

 

Thanks,

Amuthesan.

Avatar

Level 4
I have modified my code and now i have used resourceresolver from system user to get user manger object. and it is working fine now.