From c20ed813dad68a749f0dbdcf278955ae7b3300da Mon Sep 17 00:00:00 2001 From: felmer <franz-josef.elmer@id.ethz.ch> Date: Tue, 15 May 2018 11:46:45 +0200 Subject: [PATCH] SSDM-6061: Bug fixed: Do not revoke users not known by ldap. --- .../generic/server/task/UserManagementMaintenanceTask.java | 6 ++++-- .../cisd/openbis/generic/server/task/UserManager.java | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/UserManagementMaintenanceTask.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/UserManagementMaintenanceTask.java index e85b9a451b6..02d7a606ee1 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/UserManagementMaintenanceTask.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/UserManagementMaintenanceTask.java @@ -27,6 +27,7 @@ import org.apache.log4j.Logger; import com.fasterxml.jackson.databind.ObjectMapper; +import ch.systemsx.cisd.authentication.IAuthenticationService; import ch.systemsx.cisd.authentication.Principal; import ch.systemsx.cisd.authentication.ldap.LDAPAuthenticationService; import ch.systemsx.cisd.common.exceptions.ConfigurationFailureException; @@ -206,7 +207,7 @@ public class UserManagementMaintenanceTask implements IMaintenanceTask protected LDAPAuthenticationService getLdapAuthenticationService() { - return (LDAPAuthenticationService) CommonServiceProvider.getApplicationContext().getBean("ldap-authentication-service"); + return (LDAPAuthenticationService) CommonServiceProvider.tryToGetBean("ldap-authentication-service"); } private UserManager createUserManager(UserManagerConfig config, Log4jSimpleLogger logger) @@ -225,7 +226,8 @@ public class UserManagementMaintenanceTask implements IMaintenanceTask protected UserManager createUserManager(Log4jSimpleLogger logger) { - return new UserManager(ldapService, CommonServiceProvider.getApplicationServerApi(), shareIdsMappingFile, + IAuthenticationService authenticationService = (IAuthenticationService) CommonServiceProvider.tryToGetBean("authentication-service"); + return new UserManager(authenticationService, CommonServiceProvider.getApplicationServerApi(), shareIdsMappingFile, logger, SystemTimeProvider.SYSTEM_TIME_PROVIDER); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/UserManager.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/UserManager.java index 11334b67d77..45b07dd62e9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/UserManager.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/task/UserManager.java @@ -386,10 +386,11 @@ public class UserManager List<PersonUpdate> updates = new ArrayList<>(); PersonSearchCriteria searchCriteria = new PersonSearchCriteria(); PersonFetchOptions fetchOptions = new PersonFetchOptions(); + fetchOptions.withRegistrator(); List<Person> persons = service.searchPersons(sessionToken, searchCriteria, fetchOptions).getObjects(); for (Person person : persons) { - if (person.isActive()) + if (person.isActive() & person.getRegistrator() != null) // user 'system' has no registrator { try { -- GitLab