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:
net.shibboleth.utilities.java.support.component.Component,net.shibboleth.utilities.java.support.component.DestructableComponent,net.shibboleth.utilities.java.support.component.InitializableComponent,org.opensaml.messaging.handler.MessageHandler
public class ReceivedEndpointSecurityHandler extends org.opensaml.messaging.handler.AbstractMessageHandlerMessage 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 net.shibboleth.utilities.java.support.net.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(org.opensaml.messaging.context.MessageContext messageContext, net.shibboleth.utilities.java.support.net.URIComparator comparator)Check the validity of the SAML protocol message receiver endpoint against requirements indicated in the message.protected booleancompareEndpointURIs(String messageDestination, String receiverEndpoint, net.shibboleth.utilities.java.support.net.URIComparator comparator)Compare the message endpoint URI's specified.protected voiddoInitialize()protected voiddoInvoke(org.opensaml.messaging.context.MessageContext messageContext)javax.servlet.http.HttpServletRequestgetHttpServletRequest()Get the HTTP servlet request being processed.net.shibboleth.utilities.java.support.net.URIComparatorgetURIComparator()Get the URI comparator instance to use.voidsetHttpServletRequest(javax.servlet.http.HttpServletRequest request)Set the HTTP servlet request being processed.voidsetURIComparator(net.shibboleth.utilities.java.support.net.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
-
-
-
-
Field Detail
-
log
@Nonnull private org.slf4j.Logger log
Logger.
-
uriComparator
@Nonnull private net.shibboleth.utilities.java.support.net.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 net.shibboleth.utilities.java.support.net.URIComparator getURIComparator()
Get the URI comparator instance to use.- Returns:
- the uriComparator.
-
setURIComparator
public void setURIComparator(@Nonnull net.shibboleth.utilities.java.support.net.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 net.shibboleth.utilities.java.support.component.ComponentInitializationException- Overrides:
doInitializein classnet.shibboleth.utilities.java.support.component.AbstractInitializableComponent- Throws:
net.shibboleth.utilities.java.support.component.ComponentInitializationException
-
doInvoke
protected void doInvoke(@Nonnull org.opensaml.messaging.context.MessageContext messageContext) throws org.opensaml.messaging.handler.MessageHandlerException- Specified by:
doInvokein classorg.opensaml.messaging.handler.AbstractMessageHandler- Throws:
org.opensaml.messaging.handler.MessageHandlerException
-
compareEndpointURIs
protected boolean compareEndpointURIs(@Nonnull @NotEmpty String messageDestination, @Nonnull @NotEmpty String receiverEndpoint, @Nonnull net.shibboleth.utilities.java.support.net.URIComparator comparator) throws net.shibboleth.utilities.java.support.net.URIExceptionCompare 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:
net.shibboleth.utilities.java.support.net.URIException- if one of the URI's to evaluate is invalid
-
checkEndpointURI
protected void checkEndpointURI(@Nonnull org.opensaml.messaging.context.MessageContext messageContext, @Nonnull net.shibboleth.utilities.java.support.net.URIComparator comparator) throws org.opensaml.messaging.handler.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:
org.opensaml.messaging.handler.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
-
-