in src/main/java/org/apache/sling/auth/core/impl/hc/DefaultLoginsHealthCheck.java [93:135]
public Result execute() {
FormattingResultLog resultLog = new FormattingResultLog();
int checked = 0;
int failures = 0;
for (String login : logins) {
final String[] parts = login.split(":");
if (parts.length != 2) {
resultLog.warn("Expected login in the form username:password, got [{}]", login);
continue;
}
checked++;
final String username = parts[0].trim();
final String password = parts[1].trim();
final Credentials creds = new SimpleCredentials(username, password.toCharArray());
Session s = null;
try {
s = repository.login(creds);
if (s != null) {
failures++;
resultLog.warn("Login as [{}] succeeded, was expecting it to fail", username);
} else {
resultLog.debug("Login as [{}] didn't throw an Exception but returned null Session", username);
}
} catch (RepositoryException re) {
resultLog.debug("Login as [{}] failed, as expected", username);
} finally {
if (s != null) {
s.logout();
}
}
}
if (checked == 0) {
resultLog.warn("Did not check any logins, configured logins={}", logins);
} else if (failures != 0) {
resultLog.warn("Checked {} logins, {} failures", checked, failures);
} else {
resultLog.debug("Checked {} logins, all successful", checked, failures);
}
return new Result(resultLog);
}