diff --git a/source/java/org/alfresco/repo/tenant/MultiTServiceImpl.java b/source/java/org/alfresco/repo/tenant/MultiTServiceImpl.java index fe71d4418b..fc92ebeafb 100644 --- a/source/java/org/alfresco/repo/tenant/MultiTServiceImpl.java +++ b/source/java/org/alfresco/repo/tenant/MultiTServiceImpl.java @@ -401,9 +401,23 @@ public class MultiTServiceImpl implements TenantService if (name != null) { int idx = name.lastIndexOf(SEPARATOR); - if (idx != -1) + if (idx > 0 && (idx < (name.length() - 1))) { - return name.substring(0, idx); + String domainPart = getTenantDomain(name.substring(idx + 1)); + String baseName = name.substring(0, idx); + + // MNT-11766 fix, check whether tenant domain actually exists + Tenant tenant = getTenant(domainPart); + if (tenant == null) + { + // tenant domain doesn't exists but we are allowed to create non-tenant users with name like admin@test + // no base name can be resolved for such users -> return original name + return name; + } + else + { + return baseName; + } } } return name;