public class InetAccessHandler extends HandlerWrapper
Controls access to the wrapped handler using the real remote IP. Control is provided
by and IncludeExcludeSet over a InetAddressSet. This handler
uses the real internet address of the connection, not one reported in the forwarded
for headers, as this cannot be as easily forged.
AbstractHandler.ErrorDispatchHandlerAbstractLifeCycle.AbstractLifeCycleListenerLifeCycle.ListenerContainer.InheritedListener, Container.Listener| Modifier and Type | Field and Description |
|---|---|
private IncludeExcludeSet<java.lang.String,java.net.InetAddress> |
_set |
private static Logger |
LOG |
_handlerFAILED, RUNNING, STARTED, STARTING, STOP_ON_FAILURE, STOPPED, STOPPING| Constructor and Description |
|---|
InetAccessHandler() |
| Modifier and Type | Method and Description |
|---|---|
void |
dump(java.lang.Appendable out,
java.lang.String indent) |
void |
exclude(java.lang.String... patterns)
Excludes InetAddress patterns
|
void |
exclude(java.lang.String pattern)
Excludes an InetAddress pattern
|
void |
handle(java.lang.String target,
Request baseRequest,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Checks the incoming request against the whitelist and blacklist
|
void |
include(java.lang.String... patterns)
Includes InetAddress patterns
|
void |
include(java.lang.String pattern)
Includes an InetAddress pattern
|
protected boolean |
isAllowed(java.net.InetAddress address,
javax.servlet.http.HttpServletRequest request)
Checks if specified address and request are allowed by current InetAddress rules.
|
destroy, expandChildren, getHandler, getHandlers, insertHandler, setHandlerexpandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServerdoError, doStart, doStop, dumpThis, getServeraddBean, addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dumpBeans, dumpObject, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isManaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeansaddLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stopclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, start, stop, stopprivate static final Logger LOG
private final IncludeExcludeSet<java.lang.String,java.net.InetAddress> _set
public void include(java.lang.String pattern)
pattern - InetAddress pattern to includeInetAddressSetpublic void include(java.lang.String... patterns)
patterns - InetAddress patterns to includeInetAddressSetpublic void exclude(java.lang.String pattern)
pattern - InetAddress pattern to excludeInetAddressSetpublic void exclude(java.lang.String... patterns)
patterns - InetAddress patterns to excludeInetAddressSetpublic void handle(java.lang.String target,
Request baseRequest,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException,
javax.servlet.ServletException
handle in interface Handlerhandle in class HandlerWrappertarget - The target of the request - either a URI or a name.baseRequest - The original unwrapped request object.request - The request either as the Request object or a wrapper of that request. The
HttpConnection.getCurrentConnection().getHttpChannel().getRequest()
method can be used access the Request object if required.response - The response as the Response object or a wrapper of that request. The
HttpConnection.getCurrentConnection().getHttpChannel().getResponse()
method can be used access the Response object if required.java.io.IOException - if unable to handle the request or response processingjavax.servlet.ServletException - if unable to handle the request or response due to underlying servlet issueprotected boolean isAllowed(java.net.InetAddress address,
javax.servlet.http.HttpServletRequest request)
address - the inetAddress to checkrequest - the request to checkpublic void dump(java.lang.Appendable out,
java.lang.String indent)
throws java.io.IOException
dump in interface Dumpabledump in class ContainerLifeCyclejava.io.IOException