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
|
||||
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
|
||||
objectclass: inetorgperson
|
||||
objectclass: organizationalperson
|
||||
|
|
|
@ -12,6 +12,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=cn=groups
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -61,6 +61,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=cn=groups
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -44,6 +44,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=ou=groups
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -61,6 +61,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -119,6 +119,19 @@ ou: Organisationseinheit/Organisationseinheit KSC/Organisationseinheit KSC 1
|
|||
cn: Elena Eifrig
|
||||
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
|
||||
objectclass: inetorgperson
|
||||
objectclass: organizationalperson
|
||||
|
|
|
@ -24,4 +24,13 @@ class LdapTest {
|
|||
.containsExactlyInAnyOrder(
|
||||
"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.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=cn=groups
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -13,6 +13,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=ou=groups
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -13,6 +13,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -17,6 +17,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -17,6 +17,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
|
@ -95,6 +95,7 @@ public class LdapClient {
|
|||
|
||||
orFilter.or(new WhitespaceWildcardsFilter(getUserFirstnameAttribute(), name));
|
||||
orFilter.or(new WhitespaceWildcardsFilter(getUserLastnameAttribute(), name));
|
||||
orFilter.or(new WhitespaceWildcardsFilter(getUserFullnameAttribute(), name));
|
||||
orFilter.or(new WhitespaceWildcardsFilter(getUserIdAttribute(), name));
|
||||
andFilter.and(orFilter);
|
||||
|
||||
|
@ -383,6 +384,10 @@ public class LdapClient {
|
|||
return dn;
|
||||
}
|
||||
|
||||
private String getUserFullnameAttribute() {
|
||||
return LdapSettings.TASKANA_LDAP_USER_FULLNAME_ATTRIBUTE.getValueFromEnv(env);
|
||||
}
|
||||
|
||||
/** Context Mapper for user entries. */
|
||||
class GroupContextMapper extends AbstractContextMapper<AccessIdRepresentationModel> {
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@ enum LdapSettings {
|
|||
TASKANA_LDAP_USER_SEARCH_FILTER_VALUE("taskana.ldap.userSearchFilterValue"),
|
||||
TASKANA_LDAP_USER_FIRSTNAME_ATTRIBUTE("taskana.ldap.userFirstnameAttribute"),
|
||||
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_GROUP_SEARCH_BASE("taskana.ldap.groupSearchBase"),
|
||||
TASKANA_LDAP_BASE_DN("taskana.ldap.baseDn"),
|
||||
|
|
|
@ -136,7 +136,7 @@ class LdapClientTest {
|
|||
{"taskana.ldap.userIdAttribute", "uid"},
|
||||
{"taskana.ldap.userLastnameAttribute", "sn"},
|
||||
{"taskana.ldap.userFirstnameAttribute", "givenName"},
|
||||
{"taskana.ldap.userFirstnameAttribute", "givenName"},
|
||||
{"taskana.ldap.userFullnameAttribute", "cn"},
|
||||
{"taskana.ldap.userSearchFilterValue", "person"}
|
||||
})
|
||||
.forEach(
|
||||
|
|
|
@ -24,6 +24,7 @@ taskana.ldap.userSearchFilterName=objectclass
|
|||
taskana.ldap.userSearchFilterValue=person
|
||||
taskana.ldap.userFirstnameAttribute=givenName
|
||||
taskana.ldap.userLastnameAttribute=sn
|
||||
taskana.ldap.userFullnameAttribute=cn
|
||||
taskana.ldap.userIdAttribute=uid
|
||||
taskana.ldap.groupSearchBase=
|
||||
taskana.ldap.groupSearchFilterName=objectclass
|
||||
|
|
Loading…
Reference in New Issue