TSK-1634: Review Findings

This commit is contained in:
Joerg Heffner 2021-05-10 15:40:13 +02:00 committed by gitgoodjhe
parent 38363b81d6
commit 7b90a84574
26 changed files with 91 additions and 27 deletions

View File

@ -71,6 +71,7 @@ objectclass: person
objectclass: top
givenName: Business
description: desc
memberOf: cn=business-admins,cn=groups,OU=Test,O=TASKANA
uid: businessadmin
sn: Admin
ou: Organisationseinheit/Organisationseinheit IT
@ -87,6 +88,10 @@ objectclass: person
objectclass: top
givenName: Titus
description: desc
memberOf: cn=Organisationseinheit KSC 1,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
memberOf: cn=monitor-users,cn=groups,OU=Test,O=TASKANA
memberOf: cn=business-admins,cn=groups,OU=Test,O=TASKANA
memberOf: cn=ksc-teamleads,cn=groups,OU=Test,O=TASKANA
uid: teamlead-1
sn: Toll
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
@ -100,6 +105,8 @@ objectclass: person
objectclass: top
givenName: Max
description: desc
memberOf: cn=ksc-users,cn=groups,OU=Test,O=TASKANA
memberOf: cn=Organisationseinheit KSC 1,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-1-1
sn: Mustermann
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
@ -113,6 +120,8 @@ objectclass: person
objectclass: top
givenName: Elena
description: desc
memberOf: cn=ksc-users,cn=groups,OU=Test,O=TASKANA
memberOf: cn=Organisationseinheit KSC 1,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-1-2
sn: Eifrig
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
@ -142,6 +151,10 @@ objectclass: person
objectclass: top
givenName: Frauke
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
memberOf: cn=monitor-users,cn=groups,OU=Test,O=TASKANA
memberOf: cn=business-admins,cn=groups,OU=Test,O=TASKANA
memberOf: cn=ksc-teamleads,cn=groups,OU=Test,O=TASKANA
uid: teamlead-2
sn: Faul
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -155,6 +168,8 @@ objectclass: person
objectclass: top
givenName: Simone
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
memberOf: cn=ksc-users,cn=groups,OU=Test,O=TASKANA
uid: user-2-1
sn: Müller
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -168,6 +183,8 @@ objectclass: person
objectclass: top
givenName: Tim
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
memberOf: cn=ksc-users,cn=groups,OU=Test,O=TASKANA
uid: user-2-2
sn:: U2NobMOkZnJpZw==
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -181,6 +198,7 @@ objectclass: person
objectclass: top
givenName: Thomas
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-3
sn: Bach
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -194,6 +212,7 @@ objectclass: person
objectclass: top
givenName: Rolf
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-4
sn: Wieland
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -207,6 +226,7 @@ objectclass: person
objectclass: top
givenName: Heike
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-5
sn: Schmidt
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -220,6 +240,7 @@ objectclass: person
objectclass: top
givenName: Kurt
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-6
sn: Maier
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -233,6 +254,7 @@ objectclass: person
objectclass: top
givenName: Wiebke
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-7
sn: Meyer
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -246,6 +268,7 @@ objectclass: person
objectclass: top
givenName: Jana
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-8
sn: Heeg
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -259,6 +282,7 @@ objectclass: person
objectclass: top
givenName: Nathalie
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-9
sn: Fuchs
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -272,6 +296,7 @@ objectclass: person
objectclass: top
givenName: Johannes
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-10
sn: Renz
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=name=konrad,Organisation=novatec|admin
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -14,7 +14,7 @@ taskana.ldap.userFirstnameAttribute=givenName
taskana.ldap.userLastnameAttribute=sn
taskana.ldap.userFullnameAttribute=cn
taskana.ldap.userIdAttribute=uid
taskana.ldap.userMemberOfGroupAttribute=
taskana.ldap.userMemberOfGroupAttribute=memberOf
taskana.ldap.groupSearchBase=cn=groups
taskana.ldap.groupSearchFilterName=objectclass
taskana.ldap.groupSearchFilterValue=groupOfUniqueNames

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -18,9 +18,8 @@ import pro.taskana.common.api.TaskanaRole;
/** Test taskana's role configuration. */
class TaskanaRoleConfigAccTest {
private TaskanaEngineConfiguration taskanaEngineConfiguration;
@TempDir Path tempDir;
private TaskanaEngineConfiguration taskanaEngineConfiguration;
@BeforeEach
void setup() {
@ -39,6 +38,7 @@ class TaskanaRoleConfigAccTest {
Set<String> users = taskanaEngineConfiguration.getRoleMap().get(TaskanaRole.USER);
assertThat(users)
.containsExactlyInAnyOrder(
"cn=ksc-users,cn=groups,ou=test,o=taskana",
"teamlead-1",
"teamlead-2",
"user-1-1",

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.taskadmin=taskadmin

View File

@ -68,7 +68,7 @@ taskana.ldap.userFirstnameAttribute=givenName
taskana.ldap.userLastnameAttribute=sn
taskana.ldap.userFullnameAttribute=cn
taskana.ldap.userIdAttribute=uid
taskana.ldap.userMemberOfGroupAttribute=
taskana.ldap.userMemberOfGroupAttribute=memberOf
taskana.ldap.groupSearchBase=
taskana.ldap.groupSearchFilterName=objectclass
taskana.ldap.groupSearchFilterValue=groupofuniquenames

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user= cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -71,6 +71,7 @@ objectclass: person
objectclass: top
givenName: Business
description: desc
memberOf: cn=business-admins,cn=groups,OU=Test,O=TASKANA
uid: businessadmin
sn: Admin
ou: Organisationseinheit/Organisationseinheit IT
@ -87,6 +88,10 @@ objectclass: person
objectclass: top
givenName: Titus
description: desc
memberOf: cn=Organisationseinheit KSC 1,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
memberOf: cn=monitor-users,cn=groups,OU=Test,O=TASKANA
memberOf: cn=business-admins,cn=groups,OU=Test,O=TASKANA
memberOf: cn=ksc-teamleads,cn=groups,OU=Test,O=TASKANA
uid: teamlead-1
sn: Toll
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
@ -100,6 +105,8 @@ objectclass: person
objectclass: top
givenName: Max
description: desc
memberOf: cn=ksc-users,cn=groups,OU=Test,O=TASKANA
memberOf: cn=Organisationseinheit KSC 1,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-1-1
sn: Mustermann
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
@ -113,6 +120,8 @@ objectclass: person
objectclass: top
givenName: Elena
description: desc
memberOf: cn=ksc-users,cn=groups,OU=Test,O=TASKANA
memberOf: cn=Organisationseinheit KSC 1,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-1-2
sn: Eifrig
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
@ -142,6 +151,10 @@ objectclass: person
objectclass: top
givenName: Frauke
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
memberOf: cn=monitor-users,cn=groups,OU=Test,O=TASKANA
memberOf: cn=business-admins,cn=groups,OU=Test,O=TASKANA
memberOf: cn=ksc-teamleads,cn=groups,OU=Test,O=TASKANA
uid: teamlead-2
sn: Faul
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -155,6 +168,8 @@ objectclass: person
objectclass: top
givenName: Simone
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
memberOf: cn=ksc-users,cn=groups,OU=Test,O=TASKANA
uid: user-2-1
sn: Müller
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -168,6 +183,8 @@ objectclass: person
objectclass: top
givenName: Tim
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
memberOf: cn=ksc-users,cn=groups,OU=Test,O=TASKANA
uid: user-2-2
sn:: U2NobMOkZnJpZw==
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -181,6 +198,7 @@ objectclass: person
objectclass: top
givenName: Thomas
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-3
sn: Bach
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -194,6 +212,7 @@ objectclass: person
objectclass: top
givenName: Rolf
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-4
sn: Wieland
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -207,6 +226,7 @@ objectclass: person
objectclass: top
givenName: Heike
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-5
sn: Schmidt
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -220,6 +240,7 @@ objectclass: person
objectclass: top
givenName: Kurt
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-6
sn: Maier
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -233,6 +254,7 @@ objectclass: person
objectclass: top
givenName: Wiebke
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-7
sn: Meyer
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -246,6 +268,7 @@ objectclass: person
objectclass: top
givenName: Jana
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-8
sn: Heeg
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -259,6 +282,7 @@ objectclass: person
objectclass: top
givenName: Nathalie
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-9
sn: Fuchs
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -272,6 +296,7 @@ objectclass: person
objectclass: top
givenName: Johannes
description: desc
memberOf: cn=Organisationseinheit KSC 2,cn=Organisationseinheit KSC,cn=organisation,OU=Test,O=TASKANA
uid: user-2-10
sn: Renz
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 2
@ -380,4 +405,3 @@ dn: cn=Organisationseinheit B,cn=organisation,OU=Test,O=TASKANA
cn: Organisationseinheit B
objectclass: groupofuniquenames
objectclass: top

View File

@ -24,7 +24,7 @@ taskana.ldap.userFirstnameAttribute=givenName
taskana.ldap.userLastnameAttribute=sn
taskana.ldap.userFullnameAttribute=cn
taskana.ldap.userIdAttribute=uid
taskana.ldap.userMemberOfGroupAttribute=
taskana.ldap.userMemberOfGroupAttribute=memberOf
taskana.ldap.groupSearchBase=cn=groups
taskana.ldap.groupSearchFilterName=objectclass
taskana.ldap.groupSearchFilterValue=groupOfUniqueNames

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -15,6 +15,7 @@ taskana.ldap.userFirstnameAttribute=givenName
taskana.ldap.userLastnameAttribute=sn
taskana.ldap.userFullnameAttribute=cn
taskana.ldap.userIdAttribute=uid
taskana.ldap.userMemberOfGroupAttribute=memberOf
taskana.ldap.groupSearchBase=
taskana.ldap.groupSearchFilterName=objectclass
taskana.ldap.groupSearchFilterValue=groupofuniquenames

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -19,7 +19,7 @@ taskana.ldap.userFirstnameAttribute=givenName
taskana.ldap.userLastnameAttribute=sn
taskana.ldap.userFullnameAttribute=cn
taskana.ldap.userIdAttribute=uid
taskana.ldap.userMemberOfGroupAttribute=
taskana.ldap.userMemberOfGroupAttribute=memberOf
taskana.ldap.groupSearchBase=
taskana.ldap.groupSearchFilterName=objectclass
taskana.ldap.groupSearchFilterValue=groupOfUniqueNames

View File

@ -19,7 +19,7 @@ taskana.ldap.userFirstnameAttribute=givenName
taskana.ldap.userLastnameAttribute=sn
taskana.ldap.userFullnameAttribute=cn
taskana.ldap.userIdAttribute=uid
taskana.ldap.userMemberOfGroupAttribute=
taskana.ldap.userMemberOfGroupAttribute=memberOf
taskana.ldap.groupSearchBase=
taskana.ldap.groupSearchFilterName=objectclass
taskana.ldap.groupSearchFilterValue=groupOfUniqueNames

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -74,6 +74,7 @@ include::{snippets}/MonitorControllerRestDocTest/getTimestampReportDocTest/auto-
include::{snippets}/AccessIdControllerRestDocTest/searchForAccessIdDocTest/auto-section.adoc[]
include::{snippets}/AccessIdControllerRestDocTest/getGroupsForAccessIdDocTest/auto-section.adoc[]
include::{snippets}/AccessIdControllerRestDocTest/searchUsersByNameOrAccessIdForRoleTest/auto-section.adoc[]
== Configuration Resources

View File

@ -64,9 +64,9 @@ public class AccessIdController {
/**
* This endpoint searches users for a provided name or Access Id. It will only search and return
* users and members of groups which are configured with the requested TASKANA role. This
* search will only work if the users in the configured LDAP have an attribute that shows their
* group memberships, e.g. "memberOf"
* users and members of groups which are configured with the requested TASKANA role. This search
* will only work if the users in the configured LDAP have an attribute that shows their group
* memberships, e.g. "memberOf"
*
* @title Search for Access Id (users) in TASKANA user role
* @param nameOrAccessId the name or Access Id which should be searched for.
@ -74,25 +74,29 @@ public class AccessIdController {
* @return a list of all found Access Ids (users)
* @throws InvalidArgumentException if the provided search for Access Id is shorter than the
* configured one.
* @throws NotAuthorizedException if the current user is not member of role USER, BUSINESS_ADMIN
* or ADMIN
*/
@GetMapping(path = RestEndpoints.URL_USER)
public ResponseEntity<List<AccessIdRepresentationModel>> searchUsersByNameOrAccessIdForRole(
@RequestParam("search-for") String nameOrAccessId, @RequestParam("role") String role)
throws InvalidArgumentException {
throws InvalidArgumentException, NotAuthorizedException {
LOGGER.debug(
"Entry to searchUsersByNameOrAccessIdForRole(search-for= {}, role= {})",
nameOrAccessId,
role);
taskanaEngine.checkRoleMembership(
TaskanaRole.USER, TaskanaRole.BUSINESS_ADMIN, TaskanaRole.ADMIN);
if (role.equals("user")) {
List<AccessIdRepresentationModel> accessIdUsers =
ldapClient.searchUsersByNameOrAccessIdInUserRole(nameOrAccessId);
ResponseEntity<List<AccessIdRepresentationModel>> response = ResponseEntity.ok(accessIdUsers);
if (LOGGER.isDebugEnabled()) {
LOGGER.debug(
"Exit from searchUsersByNameOrAccessIdForRole(), returning {}", response);
LOGGER.debug("Exit from searchUsersByNameOrAccessIdForRole(), returning {}", response);
}
return response;

View File

@ -120,6 +120,7 @@ public class LdapClient {
final AndFilter andFilter = new AndFilter();
andFilter.and(userDetailsOrFilter);
andFilter.and(groupMembershipOrFilter);
andFilter.and(new EqualsFilter(getUserSearchFilterName(), getUserSearchFilterValue()));
final List<AccessIdRepresentationModel> accessIds =
ldapTemplate.search(

View File

@ -22,4 +22,11 @@ public class AccessIdControllerRestDocTest extends BaseRestDocTest {
.perform(get(RestEndpoints.URL_ACCESS_ID_GROUPS + "?access-id=teamlead-1"))
.andExpect(MockMvcResultMatchers.status().isOk());
}
@Test
void searchUsersByNameOrAccessIdForRoleTest() throws Exception {
mockMvc
.perform(get(RestEndpoints.URL_USER + "?search-for=user-1&role=user"))
.andExpect(MockMvcResultMatchers.status().isOk());
}
}

View File

@ -11,6 +11,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@ -88,7 +89,7 @@ class LdapClientTest {
accessIds.add(model2);
accessIds.add(model1);
LdapClient ldapClient = new LdapClient(environment, ldapTemplate);
LdapClient ldapClient = new LdapClient(environment, ldapTemplate, taskanaEngineConfiguration);
ldapClient.sortListOfAccessIdResources(accessIds);
assertThat(accessIds.get(0).getAccessId()).isEqualTo("user-1");

View File

@ -23,7 +23,7 @@ taskana.ldap.userFirstnameAttribute=givenName
taskana.ldap.userLastnameAttribute=sn
taskana.ldap.userFullnameAttribute=cn
taskana.ldap.userIdAttribute=uid
taskana.ldap.userMemberOfGroupAttribute=
taskana.ldap.userMemberOfGroupAttribute=memberOf
taskana.ldap.groupSearchBase=
taskana.ldap.groupSearchFilterName=objectclass
taskana.ldap.groupSearchFilterValue=groupOfUniqueNames

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA

View File

@ -1,4 +1,4 @@
taskana.roles.user=teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.user=cn=ksc-users,cn=groups,OU=Test,O=TASKANA | teamlead-1 | teamlead-2 | user-1-1 | user-1-2 | user-2-1 | user-2-2 | user-b-1 | user-b-2
taskana.roles.admin=admin | uid=admin,cn=users,OU=Test,O=TASKANA
taskana.roles.businessadmin=businessadmin | cn=business-admins,cn=groups,OU=Test,O=TASKANA
taskana.roles.monitor=monitor | cn=monitor-users,cn=groups,OU=Test,O=TASKANA