/** * Add requested principal into context. * * @param ac the ac * @param principals the principals */ private void addRequestedPrincipalIntoContext(final AuthenticationContext ac, final List<Principal> principals) { final RequestedPrincipalContext rpc = new RequestedPrincipalContext(); rpc.setOperator("exact"); rpc.setRequestedPrincipals(principals); ac.addSubcontext(rpc, true); }
/** {@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()); }
/** * Add (or replace) a {@link RequestedPrincipalContext} as a child of this context using the * supplied parameters and the previously established {@link PrincipalEvalPredicateFactoryRegistry} * for comparison handling. * * @param operator matching operator * @param principals principals to request * @param replace whether to replace an existing context or simply return false * * @return true iff a new context was created */ public boolean addRequestedPrincipalContext(@Nonnull @NotEmpty final String operator, @Nonnull @NonnullElements final List<Principal> principals, final boolean replace) { RequestedPrincipalContext rpCtx = getSubcontext(RequestedPrincipalContext.class); if (rpCtx != null && !replace) { return false; } rpCtx = new RequestedPrincipalContext(); rpCtx.setOperator(operator) .setPrincipalEvalPredicateFactoryRegistry(evalRegistry) .setRequestedPrincipals(principals); addSubcontext(rpCtx, true); return true; }
rpCtx.setOperator(AuthnContextComparisonTypeEnumeration.EXACT.toString()); rpCtx.setRequestedPrincipals(principals);