Class RemoteHostSpringFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- ch.vd.shared.iam.web.filter.remote.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.GenericFilterBeanFiltre 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).
-
-
Constructor Summary
Constructors Constructor Description RemoteHostSpringFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()voiddoFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)protected booleanisInvalidAddress(java.lang.String address)voidsetAllowed(java.lang.String allowed)voidsetAllowedRegex(java.lang.String allowed)voidsetDenied(java.lang.String denied)voidsetDeniedRegex(java.lang.String denied)
-
-
-
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.IOExceptionjavax.servlet.ServletException
-
isInvalidAddress
protected boolean isInvalidAddress(java.lang.String address)
-
destroy
public void destroy()
- Specified by:
destroyin interfaceorg.springframework.beans.factory.DisposableBean- Specified by:
destroyin interfacejavax.servlet.Filter- Overrides:
destroyin classorg.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.
-
-