TSK-1423: Implemented the option to search for an Access Id by the full name of the user. (#1361)
This commit is contained in:
parent
218e038901
commit
bc64407364
|
|
@ -119,6 +119,19 @@ ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
|
||||||
cn: Elena Eifrig
|
cn: Elena Eifrig
|
||||||
userPassword: user-1-2
|
userPassword: user-1-2
|
||||||
|
|
||||||
|
dn: uid=user-1-3,cn=users,OU=Test,O=TASKANA
|
||||||
|
objectclass: inetorgperson
|
||||||
|
objectclass: organizationalperson
|
||||||
|
objectclass: person
|
||||||
|
objectclass: top
|
||||||
|
givenName: Elena
|
||||||
|
description: desc
|
||||||
|
uid: user-1-3
|
||||||
|
sn: Faul
|
||||||
|
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
|
||||||
|
cn: Elena Faul
|
||||||
|
userPassword: user-1-3
|
||||||
|
|
||||||
dn: uid=Max,cn=users,OU=Test,O=TASKANA
|
dn: uid=Max,cn=users,OU=Test,O=TASKANA
|
||||||
objectclass: inetorgperson
|
objectclass: inetorgperson
|
||||||
objectclass: organizationalperson
|
objectclass: organizationalperson
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=cn=groups
|
taskana.ldap.groupSearchBase=cn=groups
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=cn=groups
|
taskana.ldap.groupSearchBase=cn=groups
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=ou=groups
|
taskana.ldap.groupSearchBase=ou=groups
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=
|
taskana.ldap.groupSearchBase=
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,19 @@ ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
|
||||||
cn: Elena Eifrig
|
cn: Elena Eifrig
|
||||||
userPassword: user-1-2
|
userPassword: user-1-2
|
||||||
|
|
||||||
|
dn: uid=user-1-3,cn=users,OU=Test,O=TASKANA
|
||||||
|
objectclass: inetorgperson
|
||||||
|
objectclass: organizationalperson
|
||||||
|
objectclass: person
|
||||||
|
objectclass: top
|
||||||
|
givenName: Elena
|
||||||
|
description: desc
|
||||||
|
uid: user-1-3
|
||||||
|
sn: Faul
|
||||||
|
ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
|
||||||
|
cn: Elena Faul
|
||||||
|
userPassword: user-1-3
|
||||||
|
|
||||||
dn: uid=Max,cn=users,OU=Test,O=TASKANA
|
dn: uid=Max,cn=users,OU=Test,O=TASKANA
|
||||||
objectclass: inetorgperson
|
objectclass: inetorgperson
|
||||||
objectclass: organizationalperson
|
objectclass: organizationalperson
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,13 @@ class LdapTest {
|
||||||
.containsExactlyInAnyOrder(
|
.containsExactlyInAnyOrder(
|
||||||
"teamlead-1", "teamlead-2", "cn=ksc-teamleads,cn=groups,ou=Test,O=TASKANA");
|
"teamlead-1", "teamlead-2", "cn=ksc-teamleads,cn=groups,ou=Test,O=TASKANA");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void should_findUserByWholeName_WhenSearchingWithLdapClient() throws Exception {
|
||||||
|
List<AccessIdRepresentationModel> usersAndGroups = ldapClient.searchUsersAndGroups("Elena");
|
||||||
|
assertThat(usersAndGroups).hasSize(2);
|
||||||
|
|
||||||
|
usersAndGroups = ldapClient.searchUsersAndGroups("Elena Faul");
|
||||||
|
assertThat(usersAndGroups).hasSize(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=cn=groups
|
taskana.ldap.groupSearchBase=cn=groups
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=ou=groups
|
taskana.ldap.groupSearchBase=ou=groups
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=
|
taskana.ldap.groupSearchBase=
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=
|
taskana.ldap.groupSearchBase=
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=
|
taskana.ldap.groupSearchBase=
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,7 @@ public class LdapClient {
|
||||||
|
|
||||||
orFilter.or(new WhitespaceWildcardsFilter(getUserFirstnameAttribute(), name));
|
orFilter.or(new WhitespaceWildcardsFilter(getUserFirstnameAttribute(), name));
|
||||||
orFilter.or(new WhitespaceWildcardsFilter(getUserLastnameAttribute(), name));
|
orFilter.or(new WhitespaceWildcardsFilter(getUserLastnameAttribute(), name));
|
||||||
|
orFilter.or(new WhitespaceWildcardsFilter(getUserFullnameAttribute(), name));
|
||||||
orFilter.or(new WhitespaceWildcardsFilter(getUserIdAttribute(), name));
|
orFilter.or(new WhitespaceWildcardsFilter(getUserIdAttribute(), name));
|
||||||
andFilter.and(orFilter);
|
andFilter.and(orFilter);
|
||||||
|
|
||||||
|
|
@ -383,6 +384,10 @@ public class LdapClient {
|
||||||
return dn;
|
return dn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getUserFullnameAttribute() {
|
||||||
|
return LdapSettings.TASKANA_LDAP_USER_FULLNAME_ATTRIBUTE.getValueFromEnv(env);
|
||||||
|
}
|
||||||
|
|
||||||
/** Context Mapper for user entries. */
|
/** Context Mapper for user entries. */
|
||||||
class GroupContextMapper extends AbstractContextMapper<AccessIdRepresentationModel> {
|
class GroupContextMapper extends AbstractContextMapper<AccessIdRepresentationModel> {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ enum LdapSettings {
|
||||||
TASKANA_LDAP_USER_SEARCH_FILTER_VALUE("taskana.ldap.userSearchFilterValue"),
|
TASKANA_LDAP_USER_SEARCH_FILTER_VALUE("taskana.ldap.userSearchFilterValue"),
|
||||||
TASKANA_LDAP_USER_FIRSTNAME_ATTRIBUTE("taskana.ldap.userFirstnameAttribute"),
|
TASKANA_LDAP_USER_FIRSTNAME_ATTRIBUTE("taskana.ldap.userFirstnameAttribute"),
|
||||||
TASKANA_LDAP_USER_LASTNAME_ATTRIBUTE("taskana.ldap.userLastnameAttribute"),
|
TASKANA_LDAP_USER_LASTNAME_ATTRIBUTE("taskana.ldap.userLastnameAttribute"),
|
||||||
|
TASKANA_LDAP_USER_FULLNAME_ATTRIBUTE("taskana.ldap.userFullnameAttribute"),
|
||||||
TASKANA_LDAP_USER_ID_ATTRIBUTE("taskana.ldap.userIdAttribute"),
|
TASKANA_LDAP_USER_ID_ATTRIBUTE("taskana.ldap.userIdAttribute"),
|
||||||
TASKANA_LDAP_GROUP_SEARCH_BASE("taskana.ldap.groupSearchBase"),
|
TASKANA_LDAP_GROUP_SEARCH_BASE("taskana.ldap.groupSearchBase"),
|
||||||
TASKANA_LDAP_BASE_DN("taskana.ldap.baseDn"),
|
TASKANA_LDAP_BASE_DN("taskana.ldap.baseDn"),
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,7 @@ class LdapClientTest {
|
||||||
{"taskana.ldap.userIdAttribute", "uid"},
|
{"taskana.ldap.userIdAttribute", "uid"},
|
||||||
{"taskana.ldap.userLastnameAttribute", "sn"},
|
{"taskana.ldap.userLastnameAttribute", "sn"},
|
||||||
{"taskana.ldap.userFirstnameAttribute", "givenName"},
|
{"taskana.ldap.userFirstnameAttribute", "givenName"},
|
||||||
{"taskana.ldap.userFirstnameAttribute", "givenName"},
|
{"taskana.ldap.userFullnameAttribute", "cn"},
|
||||||
{"taskana.ldap.userSearchFilterValue", "person"}
|
{"taskana.ldap.userSearchFilterValue", "person"}
|
||||||
})
|
})
|
||||||
.forEach(
|
.forEach(
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
||||||
taskana.ldap.userSearchFilterValue=person
|
taskana.ldap.userSearchFilterValue=person
|
||||||
taskana.ldap.userFirstnameAttribute=givenName
|
taskana.ldap.userFirstnameAttribute=givenName
|
||||||
taskana.ldap.userLastnameAttribute=sn
|
taskana.ldap.userLastnameAttribute=sn
|
||||||
|
taskana.ldap.userFullnameAttribute=cn
|
||||||
taskana.ldap.userIdAttribute=uid
|
taskana.ldap.userIdAttribute=uid
|
||||||
taskana.ldap.groupSearchBase=
|
taskana.ldap.groupSearchBase=
|
||||||
taskana.ldap.groupSearchFilterName=objectclass
|
taskana.ldap.groupSearchFilterName=objectclass
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue