@Override
    public AuthenticationPolicyExecutionResult isSatisfiedBy(final Authentication authn,
                                                             final Set<AuthenticationHandler> authenticationHandlers,
                                                             final ConfigurableApplicationContext applicationContext,
                                                             final Map<String, ? extends Serializable> context) throws Exception {
        if (this.tryAll) {
            val match = authenticationHandlers.stream()
                .allMatch(handler -> authn.getSuccesses().containsKey(handler.getName()));
            if (!match) {
                LOGGER.warn("Authentication handlers qualified to handle this transaction, [{}], "
                            + "have not all completed a successful authentication event. Successful "
                            + "authentication events recorded currently are [{}]",
                    authenticationHandlers, authn.getSuccesses().keySet());
                return AuthenticationPolicyExecutionResult.failure();
            }
            LOGGER.debug("Authentication policy is satisfied with all authentication transactions");
            return AuthenticationPolicyExecutionResult.success(!authn.getSuccesses().isEmpty());
        }
        if (!authn.getSuccesses().isEmpty()) {
            LOGGER.debug("Authentication policy is satisfied having found at least one authentication transactions");
            return AuthenticationPolicyExecutionResult.success();
        }
        LOGGER.warn("Authentication policy failed to find a successful authentication transaction. Successful attempts are [{}]",
            authn.getSuccesses().keySet());
        return AuthenticationPolicyExecutionResult.failure();
    }
Flag to try all credentials before policy is satisfied. Defaults to {@code false}.
core/cas-server-core-authentication-api/src/main/java/org/apereo/cas/authentication/policy/AtLeastOneCredentialValidatedAuthenticationPolicy.java