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
Solved! Go to Solution.
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());
}
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.
Hi,
Thanks for the input i did try this but in touch ui dialog it shows copy and delete options,but did remove the configure option by this way
Views
Replies
Total Likes
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());
}
Hi Arun ,
I noticed one more issue when we set using decorate the actual component dialog in hidden in touch ui ,but the top " Inheritance Paragraph System" dialog start showing when we click in the area of the component, but same issue does not happen in classic .
Any inputs as how this could be overcome
Thanks
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies