Class AddProxyRestrictionToAssertions
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.profile.action.AbstractProfileAction
-
- org.opensaml.profile.action.AbstractConditionalProfileAction
-
- org.opensaml.saml.saml2.profile.impl.AddProxyRestrictionToAssertions
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction
public class AddProxyRestrictionToAssertions extends AbstractConditionalProfileAction
Action adds anProxyRestrictionto everyAssertioncontained in a SAML 2 response, with the audiences and count obtained from a lookup function. If the containingConditionsis not present, it will be created.
-
-
Field Summary
Fields Modifier and Type Field Description private Set<String>audiencesAudiences to add.private org.slf4j.LoggerlogClass logger.private IntegerproxyCountProxyCount to add.private Function<ProfileRequestContext,Pair<Integer,Set<String>>>proxyRestrictionLookupStrategyStrategy used to obtain the material to add.private ResponseresponseResponse to modify.private Function<ProfileRequestContext,Response>responseLookupStrategyStrategy used to locate the Response to operate on.
-
Constructor Summary
Constructors Constructor Description AddProxyRestrictionToAssertions()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddProxyRestriction(ProfileRequestContext profileRequestContext, Conditions conditions)Add the audiences obtained from a lookup function to theProxyRestriction.protected voiddoExecute(ProfileRequestContext profileRequestContext)Performs this action.protected voiddoInitialize()protected booleandoPreExecute(ProfileRequestContext profileRequestContext)Called prior to execution, actions may override this method to perform pre-processing for a request.private ProxyRestrictiongetProxyRestriction(Conditions conditions)Get theProxyRestrictionto which audiences will be added.voidsetProxyRestrictionLookupStrategy(Function<ProfileRequestContext,Pair<Integer,Set<String>>> strategy)Set the strategy used to obtain the proxy restrictions to apply.voidsetResponseLookupStrategy(Function<ProfileRequestContext,Response> strategy)Set the strategy used to locate the Response to operate on.-
Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationCondition
-
Methods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, setHttpServletRequest, setHttpServletRequestSupplier, setHttpServletResponse, setHttpServletResponseSupplier
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.InitializableComponent
initialize, isInitialized
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
responseLookupStrategy
@Nonnull private Function<ProfileRequestContext,Response> responseLookupStrategy
Strategy used to locate the Response to operate on.
-
proxyRestrictionLookupStrategy
@Nullable private Function<ProfileRequestContext,Pair<Integer,Set<String>>> proxyRestrictionLookupStrategy
Strategy used to obtain the material to add.
-
response
@Nullable private Response response
Response to modify.
-
proxyCount
@Nullable private Integer proxyCount
ProxyCount to add.
-
-
Method Detail
-
setResponseLookupStrategy
public void setResponseLookupStrategy(@Nonnull Function<ProfileRequestContext,Response> strategy)Set the strategy used to locate the Response to operate on.- Parameters:
strategy- lookup strategy
-
setProxyRestrictionLookupStrategy
public void setProxyRestrictionLookupStrategy(@Nonnull Function<ProfileRequestContext,Pair<Integer,Set<String>>> strategy)Set the strategy used to obtain the proxy restrictions to apply.- Parameters:
strategy- lookup strategy
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreExecute
protected boolean doPreExecute(@Nonnull ProfileRequestContext profileRequestContext)Called prior to execution, actions may override this method to perform pre-processing for a request.If false is returned, execution will not proceed, and the action should attach an
EventContextto the context tree to signal how to continue with overall workflow processing.If returning successfully, the last step should be to return the result of the superclass version of this method.
- Overrides:
doPreExecutein classAbstractConditionalProfileAction- Parameters:
profileRequestContext- the current IdP profile request context- Returns:
- true iff execution should proceed
-
doExecute
protected void doExecute(@Nonnull ProfileRequestContext profileRequestContext)Performs this action. Actions must override this method to perform their work.- Overrides:
doExecutein classAbstractProfileAction- Parameters:
profileRequestContext- the current IdP profile request context
-
addProxyRestriction
private void addProxyRestriction(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull Conditions conditions)Add the audiences obtained from a lookup function to theProxyRestriction. If noProxyRestrictionexists on the givenConditionsone is created and added.- Parameters:
profileRequestContext- current profile request contextconditions- condition that has, or will receive the created,ProxyRestriction
-
getProxyRestriction
@Nonnull private ProxyRestriction getProxyRestriction(@Nonnull Conditions conditions)
Get theProxyRestrictionto which audiences will be added.- Parameters:
conditions- existing set of conditions- Returns:
- the condition to which audiences will be added
-
-