Expand my Community achievements bar.

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.