Class RemoteHostSpringFilter

  • All Implemented Interfaces:
    javax.servlet.Filter, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.EnvironmentAware, org.springframework.core.env.EnvironmentCapable, org.springframework.web.context.ServletContextAware

    public class RemoteHostSpringFilter
    extends org.springframework.web.filter.GenericFilterBean
    Filtre qui permet de refuser une requête en fonction de l'adresses IP du client qui appelle.

    Il est possible de spécifier une liste d'adresses IP autorisées à passer le filtre (whitelist) ainsi qu'une liste d'adresses IP interdites (blacklist). La liste des adresses IP interdites a la précédence sur la liste des adresses IP autorisées (en clair, cela veut dire qu'une adresse IP qui apparaîtrait dans les deux listes se verrait refuser le passage par le filtre).

    Exemples de formats supportés :

         allowed=10.6.3.0
         allowed=10.6.3.0,10.6.3.122,10.6.3.220
         allowed=10.6.3.*
         allowed=10.*
         allowed=*
         allowed=10\\.120\\.195\\.([2-5][0-9]|6[0-4])
     
    Note : le caractère * permet de remplacer une suite de un ou plusieurs chiffres (ou points).
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void destroy()  
      void doFilter​(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)  
      protected boolean isInvalidAddress​(java.lang.String address)  
      void setAllowed​(java.lang.String allowed)  
      void setAllowedRegex​(java.lang.String allowed)  
      void setDenied​(java.lang.String denied)  
      void setDeniedRegex​(java.lang.String denied)  
      • Methods inherited from class org.springframework.web.filter.GenericFilterBean

        addRequiredProperty, afterPropertiesSet, createEnvironment, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RemoteHostSpringFilter

        public RemoteHostSpringFilter()
    • Method Detail

      • doFilter

        public void doFilter​(javax.servlet.ServletRequest request,
                             javax.servlet.ServletResponse response,
                             javax.servlet.FilterChain chain)
                      throws java.io.IOException,
                             javax.servlet.ServletException
        Throws:
        java.io.IOException
        javax.servlet.ServletException
      • isInvalidAddress

        protected boolean isInvalidAddress​(java.lang.String address)
      • destroy

        public void destroy()
        Specified by:
        destroy in interface org.springframework.beans.factory.DisposableBean
        Specified by:
        destroy in interface javax.servlet.Filter
        Overrides:
        destroy in class org.springframework.web.filter.GenericFilterBean
      • setAllowed

        public void setAllowed​(java.lang.String allowed)
        Parameters:
        allowed - un pattern pour les adresses IP qui seront autorisées à passer le filtre.
      • setDenied

        public void setDenied​(java.lang.String denied)
        Parameters:
        denied - un pattern pour les adresses IP qui ne seront pas autorisées à passer le filtre.
      • setAllowedRegex

        public void setAllowedRegex​(java.lang.String allowed)
        Parameters:
        allowed - un pattern pour les adresses IP qui seront autorisées à passer le filtre.
      • setDeniedRegex

        public void setDeniedRegex​(java.lang.String denied)
        Parameters:
        denied - un pattern pour les adresses IP qui ne seront pas autorisées à passer le filtre.