AEM6.3 providing access to group for a particular component on a page on author

srinivas_chann1

16-07-2020

Hi,

 

Could some one help me the below query

 

On Author if there is any way that on page where there are many custom components are available.I mean the components   that at code level will under /apps/project

 

For a specific component  on that page how to restrict the edit access to a particular  group .

 

So that users of that particular group can edit the dialog where as for other users the dialog appears hidden or in disabled state

 

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Arun_Patidar

MVP

16-07-2020

Please check this article I have written for same

https://aemlab.blogspot.com/2018/11/aem-restrict-component-editing-and.html

 

In component Model you can write a check or you can write a filter as well, if you have more than one component.

 

try {
   boolean decoration=false;
   User currentUser = request.getResourceResolver().adaptTo(User.class);
   
   if(currentUser.isAdmin())
    return;
   
   Iterator<Group> currentUserGroups = currentUser.memberOf();

   while (currentUserGroups.hasNext()) {
    Group grp = (Group) currentUserGroups.next();
    if(grp.getID().equals(GROUP)) {
     decoration =true;
     return;
    }
   }

   ComponentContext cc = WCMUtils.getComponentContext(request);
   cc.setDecorate(decoration);
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   logger.info(e.getMessage());
  }

Answers (1)

Answers (1)

vanegi

Employee

16-07-2020

This can be done by just removing permissions of that component for those particular users, you can do groups segregation and add users on those groups ,which has permission to access those components.

 

Capture.JPG