diff --git a/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java b/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java index 7e31b899b..5d34e1e5f 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java +++ b/lib/taskana-core/src/main/java/pro/taskana/configuration/DbSchemaCreator.java @@ -137,7 +137,7 @@ public class DbSchemaCreator { this.dataSource = dataSource; } - private StringReader getSqlSchemaNameParsed(BufferedReader reader) throws SQLException { + private StringReader getSqlSchemaNameParsed(BufferedReader reader) { StringBuffer content = new StringBuffer(); try { diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketQueryImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketQueryImpl.java index 84efa54d7..0946a7d28 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketQueryImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/WorkbasketQueryImpl.java @@ -717,8 +717,10 @@ public class WorkbasketQueryImpl implements WorkbasketQuery { // (f,t) -> cannot happen, cannot be matched to meaningful query joinWithAccessList = true; checkReadPermission = true; - if (taskanaEngine.isUserInRole(TaskanaRole.ADMIN) - || (taskanaEngine.isUserInRole(TaskanaRole.BUSINESS_ADMIN) && !usedToAugmentTasks)) { + if (taskanaEngine.isUserInRole(TaskanaRole.ADMIN) && accessId == null) { + checkReadPermission = false; + joinWithAccessList = false; + } else if (taskanaEngine.isUserInRole(TaskanaRole.BUSINESS_ADMIN) && !usedToAugmentTasks) { checkReadPermission = false; if (accessId == null && permission == null) { joinWithAccessList = false; diff --git a/lib/taskana-core/src/test/java/acceptance/workbasket/QueryWorkbasketByPermissionAccTest.java b/lib/taskana-core/src/test/java/acceptance/workbasket/QueryWorkbasketByPermissionAccTest.java index ae151ff09..93776b1c5 100644 --- a/lib/taskana-core/src/test/java/acceptance/workbasket/QueryWorkbasketByPermissionAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/workbasket/QueryWorkbasketByPermissionAccTest.java @@ -154,4 +154,14 @@ public class QueryWorkbasketByPermissionAccTest extends AbstractAccTest { Assert.assertEquals(3, results.size()); } + @WithAccessId(userName = "admin") + @Test + public void testSkipAuthorizationCheckForAdminWhileQueryingWorkbaskets() { + WorkbasketService workbasketService = taskanaEngine.getWorkbasketService(); + List results = workbasketService.createWorkbasketQuery() + .callerHasPermission(WorkbasketPermission.OPEN) + .list(); + Assert.assertEquals(25, results.size()); + } + }