Class ReceivedEndpointSecurityHandler
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- org.opensaml.messaging.handler.AbstractMessageHandler
-
- org.opensaml.saml.common.binding.security.impl.ReceivedEndpointSecurityHandler
-
- All Implemented Interfaces:
Component,DestructableComponent,InitializableComponent,MessageHandler
public class ReceivedEndpointSecurityHandler extends AbstractMessageHandler
Message handler which checks the validity of the SAML protocol message receiver endpoint against requirements indicated in the message.
-
-
Field Summary
Fields Modifier and Type Field Description private javax.servlet.http.HttpServletRequesthttpServletRequestThe HttpServletRequest being processed.private org.slf4j.LoggerlogLogger.private URIComparatoruriComparatorThe URI comparator to use in performing the validation.
-
Constructor Summary
Constructors Constructor Description ReceivedEndpointSecurityHandler()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckEndpointURI(MessageContext messageContext, URIComparator comparator)Check the validity of the SAML protocol message receiver endpoint against requirements indicated in the message.protected booleancompareEndpointURIs(String messageDestination, String receiverEndpoint, URIComparator comparator)Compare the message endpoint URI's specified.protected voiddoInitialize()protected voiddoInvoke(MessageContext messageContext)javax.servlet.http.HttpServletRequestgetHttpServletRequest()Get the HTTP servlet request being processed.URIComparatorgetURIComparator()Get the URI comparator instance to use.voidsetHttpServletRequest(javax.servlet.http.HttpServletRequest request)Set the HTTP servlet request being processed.voidsetURIComparator(URIComparator comparator)Set the URI comparator instance to use.-
Methods inherited from class org.opensaml.messaging.handler.AbstractMessageHandler
doPostInvoke, doPostInvoke, doPreInvoke, getActivationCondition, getLogPrefix, invoke, setActivationCondition
-
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 org.slf4j.Logger log
Logger.
-
uriComparator
@Nonnull private URIComparator uriComparator
The URI comparator to use in performing the validation.
-
httpServletRequest
@NonnullAfterInit private javax.servlet.http.HttpServletRequest httpServletRequest
The HttpServletRequest being processed.
-
-
Method Detail
-
getURIComparator
@Nonnull public URIComparator getURIComparator()
Get the URI comparator instance to use.- Returns:
- the uriComparator.
-
setURIComparator
public void setURIComparator(@Nonnull URIComparator comparator)Set the URI comparator instance to use.- Parameters:
comparator- the new URI comparator to use
-
getHttpServletRequest
@NonnullAfterInit public javax.servlet.http.HttpServletRequest getHttpServletRequest()
Get the HTTP servlet request being processed.- Returns:
- Returns the request.
-
setHttpServletRequest
public void setHttpServletRequest(@Nonnull javax.servlet.http.HttpServletRequest request)Set the HTTP servlet request being processed.- Parameters:
request- The to set.
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractInitializableComponent- Throws:
ComponentInitializationException
-
doInvoke
protected void doInvoke(@Nonnull MessageContext messageContext) throws MessageHandlerException- Specified by:
doInvokein classAbstractMessageHandler- Throws:
MessageHandlerException
-
compareEndpointURIs
protected boolean compareEndpointURIs(@Nonnull @NotEmpty String messageDestination, @Nonnull @NotEmpty String receiverEndpoint, @Nonnull URIComparator comparator) throws URIException
Compare the message endpoint URI's specified.The comparison is performed using the specified instance of
URIComparator.- Parameters:
messageDestination- the intended message destination endpoint URIreceiverEndpoint- the endpoint URI at which the message was receivedcomparator- the comparator instance to use- Returns:
- true if the endpoints are equivalent, false otherwise
- Throws:
URIException- if one of the URI's to evaluate is invalid
-
checkEndpointURI
protected void checkEndpointURI(@Nonnull MessageContext messageContext, @Nonnull URIComparator comparator) throws MessageHandlerExceptionCheck the validity of the SAML protocol message receiver endpoint against requirements indicated in the message.- Parameters:
messageContext- current message contextcomparator- the URI comparator instance to use, if null an internal default will be used- Throws:
MessageHandlerException- thrown if the message was received at an endpoint consistent with message requirements, or if there is a problem decoding and processing the message Destination or receiver endpoint information
-
-