From 8cce5a7a14532bde762aabc53674f8cffb8aeedf Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Fri, 24 Jul 2020 08:00:34 +0200 Subject: [PATCH] if "admin" user not found, log severe warning only but keep running, drop roles qualified by the not found user --- .../mongodb/impl/DomainObjectFactoryImpl.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/java/com.sap.sse.security.userstore.mongodb/src/com/sap/sse/security/userstore/mongodb/impl/DomainObjectFactoryImpl.java b/java/com.sap.sse.security.userstore.mongodb/src/com/sap/sse/security/userstore/mongodb/impl/DomainObjectFactoryImpl.java index 55b335ff00b..d1e570dec5f 100644 --- a/java/com.sap.sse.security.userstore.mongodb/src/com/sap/sse/security/userstore/mongodb/impl/DomainObjectFactoryImpl.java +++ b/java/com.sap.sse.security.userstore.mongodb/src/com/sap/sse/security/userstore/mongodb/impl/DomainObjectFactoryImpl.java @@ -232,14 +232,15 @@ public class DomainObjectFactoryImpl implements DomainObjectFactory { final User userQualifierProxy = roleWithUserQualifierProxy.getQualifiedForUser(); if (userQualifierProxy != null) { final User resolvedUserQualifier = users.get(userQualifierProxy.getName()); - if (resolvedUserQualifier == null) { - throw new UserManagementException("Unable to resolve user named "+userQualifierProxy.getName()+ - " which serves as a role qualifier for role "+roleWithUserQualifierProxy.getName()+ - " for user "+user.getName()); - } user.removeRole(roleWithUserQualifierProxy); - user.addRole(new Role(roleWithUserQualifierProxy.getRoleDefinition(), - roleWithUserQualifierProxy.getQualifiedForTenant(), resolvedUserQualifier)); + if (resolvedUserQualifier == null) { + logger.severe("Unable to resolve user named "+userQualifierProxy.getName()+ + " which serves as a role qualifier for role "+roleWithUserQualifierProxy.getName()+ + " for user "+user.getName()+". Removing role."); + } else { + user.addRole(new Role(roleWithUserQualifierProxy.getRoleDefinition(), + roleWithUserQualifierProxy.getQualifiedForTenant(), resolvedUserQualifier)); + } } } }