I have a servlet that runs as admin and only admin.
Workflow launchers are now in /libs/settings/workflow/launcher/config and I have a servlet handles some work. It first turns off the launchers while it handles its business like so. This is a snippet:
public class MyServlet extends SlingAllMethodsServlet {
@Reference
WorkflowLauncher workflowLauncher;
@Override
protected void doPost(SlingHttpServletRequest request,
SlingHttpServletResponse response) throws ServletException, IOException {
List<String> enabledWorkflowIds = new ArrayList<>();
List<ConfigEntry> configEntries = workflowLauncher.getConfigEntries();
for (ConfigEntry entry : configEntries) {
if (entry.isEnabled()) {
String id = entry.getId();
enabledWorkflowIds.add(id);
entry.setEnabled(false);
try {
workflowLauncher.editConfigEntry(id, entry);
} catch (RepositoryException e) {
e.printStackTrace();
}
}
}
response.getWriter().println("Turned off these workflow launchers: ");
response.getWriter().println(enabledWorkflowIds);
}
}
The servlet would go through and turn off all the workflow launchers and turn them off. This works on AEM 6.3 but not on AEM 6.4. Admin as far as I can tell has permission to edit those nodes. Any thoughts?
I'm getting this RepositoryException which says that admin doesn't have permission to disable the launchers:
16.11.2018 17:55:27.892 *WARN* [127.0.0.1 [1542419716436] POST /bin/project/myservlet HTTP/1.1] com.adobe.granite.workflow.core.launcher.WorkflowLauncherImpl Error editing launcher config entry
javax.jcr.AccessDeniedException: OakAccess0000: Access denied
at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:231) [org.apache.jackrabbit.oak-api:1.8.7]
at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:212) [org.apache.jackrabbit.oak-api:1.8.7]
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.newRepositoryException(SessionDelegate.java:670) [org.apache.jackrabbit.oak-jcr:1.8.7]
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:496) [org.apache.jackrabbit.oak-jcr:1.8.7]
at org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:420) [org.apache.jackrabbit.oak-jcr:1.8.7]
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:274) [org.apache.jackrabbit.oak-jcr:1.8.7]
at org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:417) [org.apache.jackrabbit.oak-jcr:1.8.7]
... 136 omitted
Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakAccess0000: Access denied
at org.apache.jackrabbit.oak.security.authorization.permission.PermissionValidator.checkPermissions(PermissionValidator.java:240) [org.apache.jackrabbit.oak-core:1.8.7]
at org.apache.jackrabbit.oak.security.authorization.permission.PermissionValidator.propertyChanged(PermissionValidator.java:126) [org.apache.jackrabbit.oak-core:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.VisibleValidator.propertyChanged(VisibleValidator.java:92) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.CompositeEditor.propertyChanged(CompositeEditor.java:91) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.propertyChanged(EditorDiff.java:93) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareProperties(SegmentNodeState.java:632) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:526) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:423) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:619) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.MapRecord$4.childNodeChanged(MapRecord.java:450) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:496) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:441) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:619) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:566) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:423) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:619) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:423) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:619) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:423) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:619) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.childNodeChanged(EditorDiff.java:148) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.MapRecord.compare(MapRecord.java:496) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeState.compareAgainstBaseState(SegmentNodeState.java:619) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorDiff.process(EditorDiff.java:52) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.EditorHook.processCommit(EditorHook.java:55) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.spi.commit.CompositeHook.processCommit(CompositeHook.java:61) [org.apache.jackrabbit.oak-store-spi:1.8.7]
at org.apache.jackrabbit.oak.segment.scheduler.Commit.apply(Commit.java:72) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.execute(LockBasedScheduler.java:265) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.scheduler.LockBasedScheduler.schedule(LockBasedScheduler.java:236) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.segment.SegmentNodeStore.merge(SegmentNodeStore.java:195) [org.apache.jackrabbit.oak-segment-tar:1.8.7]
at org.apache.jackrabbit.oak.core.MutableRoot.commit(MutableRoot.java:250) [org.apache.jackrabbit.oak-core:1.8.7]
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.commit(SessionDelegate.java:347) [org.apache.jackrabbit.oak-jcr:1.8.7]
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:494) [org.apache.jackrabbit.oak-jcr:1.8.7]
... 138 common frames omitted
Views
Replies
Total Likes