Class AddAudienceRestrictionToAssertions
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
org.opensaml.profile.action.AbstractProfileAction
org.opensaml.profile.action.AbstractConditionalProfileAction
org.opensaml.saml.common.profile.impl.AddAudienceRestrictionToAssertions
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,ProfileAction
Action adds an audience restriction condition to every assertion contained in a SAML 1/2
response, with the audiences obtained from a lookup function. If the containing Conditions is not present,
it will be created.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanWhether, if an assertion already contains an audience restriction, this action will add its audiences to that restriction or create another one.private Function<ProfileRequestContext,Collection<String>> Strategy used to obtain the audiences to add.private Collection<String>Audiences to add.private final org.slf4j.LoggerClass logger.private SAMLObjectResponse to modify.private Function<ProfileRequestContext,SAMLObject> Strategy used to locate the Response to operate on. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddAudienceRestriction(ProfileRequestContext profileRequestContext, Conditions conditions) Add the audiences obtained from a lookup function to theAudienceRestrictionCondition.private voidaddAudienceRestriction(ProfileRequestContext profileRequestContext, Conditions conditions) Add the audiences obtained from a lookup function to theAudienceRestriction.protected voiddoExecute(ProfileRequestContext profileRequestContext) Performs this action.protected voidprotected booleandoPreExecute(ProfileRequestContext profileRequestContext) Called prior to execution, actions may override this method to perform pre-processing for a request.private AudienceRestrictiongetAudienceRestriction(Conditions conditions) Get theAudienceRestrictionto which audiences will be added.private AudienceRestrictionConditiongetAudienceRestrictionCondition(Conditions conditions) Get theAudienceRestrictionConditionto which audiences will be added.voidsetAddingAudiencesToExistingRestriction(boolean addingToExistingRestriction) Set whether, if an assertion already contains an audience restriction, this action will add its audiences to that restriction or create another one.voidSet the strategy used to obtain the audience restrictions to apply.voidSet the strategy used to locate the Response to operate on.Methods inherited from class org.opensaml.profile.action.AbstractConditionalProfileAction
getActivationCondition, setActivationConditionMethods inherited from class org.opensaml.profile.action.AbstractProfileAction
doPostExecute, doPostExecute, ensureHttpServletRequest, ensureHttpServletResponse, execute, getHttpServletRequest, getHttpServletRequestSupplier, getHttpServletResponse, getHttpServletResponseSupplier, getLogPrefix, isPreExecuteCalled, setHttpServletRequestSupplier, setHttpServletResponseSupplierMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, doDestroy, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.InitializableComponent
initialize, isInitialized
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
addingAudiencesToExistingRestriction
private boolean addingAudiencesToExistingRestrictionWhether, if an assertion already contains an audience restriction, this action will add its audiences to that restriction or create another one. -
responseLookupStrategy
Strategy used to locate the Response to operate on. -
audienceRestrictionsLookupStrategy
@NonnullAfterInit private Function<ProfileRequestContext,Collection<String>> audienceRestrictionsLookupStrategyStrategy used to obtain the audiences to add. -
response
Response to modify. -
audiences
Audiences to add.
-
-
Constructor Details
-
AddAudienceRestrictionToAssertions
public AddAudienceRestrictionToAssertions()Constructor.
-
-
Method Details
-
setResponseLookupStrategy
Set the strategy used to locate the Response to operate on.- Parameters:
strategy- lookup strategy
-
setAddingAudiencesToExistingRestriction
public void setAddingAudiencesToExistingRestriction(boolean addingToExistingRestriction) Set whether, if an assertion already contains an audience restriction, this action will add its audiences to that restriction or create another one.- Parameters:
addingToExistingRestriction- whether this action will add its audiences to that restriction or create another one
-
setAudienceRestrictionsLookupStrategy
public void setAudienceRestrictionsLookupStrategy(@Nonnull Function<ProfileRequestContext, Collection<String>> strategy) Set the strategy used to obtain the audience restrictions to apply.- Parameters:
strategy- lookup strategy
-
doInitialize
- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doPreExecute
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
Performs this action. Actions must override this method to perform their work.- Overrides:
doExecutein classAbstractProfileAction- Parameters:
profileRequestContext- the current IdP profile request context
-
addAudienceRestriction
private void addAudienceRestriction(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull Conditions conditions) Add the audiences obtained from a lookup function to theAudienceRestrictionCondition. If noAudienceRestrictionConditionexists on the given Conditions one is created and added.- Parameters:
profileRequestContext- current profile request contextconditions- condition that has, or will receive the created,AudienceRestrictionCondition
-
addAudienceRestriction
private void addAudienceRestriction(@Nonnull ProfileRequestContext profileRequestContext, @Nonnull Conditions conditions) Add the audiences obtained from a lookup function to theAudienceRestriction. If noAudienceRestrictionexists on the given Conditions one is created and added.- Parameters:
profileRequestContext- current profile request contextconditions- condition that has, or will receive the created,AudienceRestriction
-
getAudienceRestrictionCondition
@Nonnull private AudienceRestrictionCondition getAudienceRestrictionCondition(@Nonnull Conditions conditions) Get theAudienceRestrictionConditionto which audiences will be added.- Parameters:
conditions- existing set of conditions- Returns:
- the condition to which audiences will be added
-
getAudienceRestriction
Get theAudienceRestrictionto which audiences will be added.- Parameters:
conditions- existing set of conditions- Returns:
- the condition to which audiences will be added
-