Class 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.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.HttpServletRequest httpServletRequest
      The HttpServletRequest being processed.
      private org.slf4j.Logger log
      Logger.
      private net.shibboleth.utilities.java.support.net.URIComparator uriComparator
      The URI comparator to use in performing the validation.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void checkEndpointURI​(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 boolean compareEndpointURIs​(String messageDestination, String receiverEndpoint, net.shibboleth.utilities.java.support.net.URIComparator comparator)
      Compare the message endpoint URI's specified.
      protected void doInitialize()
      protected void doInvoke​(org.opensaml.messaging.context.MessageContext messageContext)
      javax.servlet.http.HttpServletRequest getHttpServletRequest()
      Get the HTTP servlet request being processed.
      net.shibboleth.utilities.java.support.net.URIComparator getURIComparator()
      Get the URI comparator instance to use.
      void setHttpServletRequest​(javax.servlet.http.HttpServletRequest request)
      Set the HTTP servlet request being processed.
      void setURIComparator​(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
      • 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 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.
    • Constructor Detail

      • ReceivedEndpointSecurityHandler

        public ReceivedEndpointSecurityHandler()
        Constructor.
    • 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:
        doInitialize in class net.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:
        doInvoke in class org.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.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 URI
        receiverEndpoint - the endpoint URI at which the message was received
        comparator - 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.MessageHandlerException
        Check the validity of the SAML protocol message receiver endpoint against requirements indicated in the message.
        Parameters:
        messageContext - current message context
        comparator - 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