in src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMapperImpl.java [497:521]
boolean isValidUser(final String userId, final String serviceName, final String subServiceName, boolean require) {
if (userId == null) {
log.debug("isValidUser: userId is null -> invalid");
return false;
}
List<ServiceUserValidator> validators = getUserValidators();
if (validators.isEmpty()) {
if (require) {
log.debug("isValidUser: No active validators for userId '{}' and require -> invalid", userId);
return false;
} else {
log.debug("isValidUser: No active validators for userId '{}' -> valid", userId);
return true;
}
} else {
for (final ServiceUserValidator validator : validators) {
if (!validator.isValid(userId, serviceName, subServiceName)) {
log.debug("isValidUser: Validator {} doesn't accept userId '{}' -> invalid", validator, userId);
return false;
}
}
log.debug("isValidUser: All validators accepted userId '{}' -> valid", userId);
return true;
}
}