/** {@inheritDoc} */ @Override protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext, @Nonnull final AuthenticationContext authenticationContext) { final List<Principal> principals = authenticationProfileConfig.getDefaultAuthenticationMethods(); if (authenticationProfileConfig.getDefaultAuthenticationMethods().isEmpty()) { log.debug("{} Profile configuration did not supply any default authentication methods", getLogPrefix()); return; } final RequestedPrincipalContext principalCtx = new RequestedPrincipalContext(); principalCtx.setOperator("exact"); principalCtx.setRequestedPrincipals(principals); principalCtx.setPrincipalEvalPredicateFactoryRegistry( authenticationContext.getPrincipalEvalPredicateFactoryRegistry()); authenticationContext.addSubcontext(principalCtx, true); log.debug("{} Established RequestedPrincipalContext with {} methods", getLogPrefix(), principalCtx.getRequestedPrincipals().size()); }
for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { log.debug("{} Checking result for compatibility with operator '{}' and principal '{}'", getLogPrefix(), requestedPrincipalCtx.getOperator(), p.getName());
log.debug("{} Request contains principal requirements, evaluating JAAS config '{}' for compatibility", getLogPrefix(), configName); for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { final PrincipalEvalPredicateFactory factory = requestedPrincipalCtx.getPrincipalEvalPredicateFactoryRegistry().lookup(
if (requestedPrincipalCtx != null) { if (requestedPrincipalCtx.getOperator() == null || requestedPrincipalCtx.getRequestedPrincipals().isEmpty()) { requestedPrincipalCtx = null;
for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { log.debug("{} Checking for an inactive flow compatible with operator '{}' and principal '{}'", getLogPrefix(), requestedPrincipalCtx.getOperator(), p.getName());
requestedPrincipalCtx.getOperator(), requestedPrincipalCtx.getRequestedPrincipals());
if (rpCtx != null && rpCtx.getOperator() != null && !getSubject().getPrincipals().isEmpty()) { log.debug("{} Request contains principal requirements, evaluating for compatibility", getLogPrefix()); for (final Principal p : rpCtx.getRequestedPrincipals()) { final PrincipalEvalPredicateFactory factory = rpCtx.getPrincipalEvalPredicateFactoryRegistry().lookup(p.getClass(), rpCtx.getOperator());
for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { log.debug("{} Checking for an active result compatible with operator '{}' and principal '{}'", getLogPrefix(), requestedPrincipalCtx.getOperator(), p.getName()); for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { log.debug("{} Checking for an inactive flow or active result compatible with " + "operator '{}' and principal '{}'", getLogPrefix(), requestedPrincipalCtx.getOperator(),
for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { final PrincipalEvalPredicate predicate = requestedPrincipalCtx.getPredicate(p); if (predicate != null) { return; } else if (requestedPrincipalCtx != null) { for (final Principal p : requestedPrincipalCtx.getRequestedPrincipals()) { final PrincipalEvalPredicate predicate = requestedPrincipalCtx.getPredicate(p); if (predicate != null) {