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.ErrorDispatchHandler
AbstractLifeCycle.AbstractLifeCycleListener
LifeCycle.Listener
Container.InheritedListener, Container.Listener
_handler
FAILED, RUNNING, STARTED, STARTING, STOP_ON_FAILURE, STOPPED, STOPPING
Constructor and Description |
---|
InetAccessHandler() |
Modifier and Type | Method and Description |
---|---|
void |
dump(Appendable out,
String indent) |
void |
exclude(String... patterns)
Excludes InetAddress patterns
|
void |
exclude(String pattern)
Excludes an InetAddress pattern
|
void |
handle(String target,
Request baseRequest,
HttpServletRequest request,
HttpServletResponse response)
Checks the incoming request against the whitelist and blacklist
|
void |
include(String... patterns)
Includes InetAddress patterns
|
void |
include(String pattern)
Includes an InetAddress pattern
|
protected boolean |
isAllowed(InetAddress address,
HttpServletRequest request)
Checks if specified address and request are allowed by current InetAddress rules.
|
destroy, expandChildren, getHandler, getHandlers, insertHandler, setHandler
expandHandler, findContainerOf, getChildHandlerByClass, getChildHandlers, getChildHandlersByClass, setServer
doError, doStart, doStop, dumpThis, getServer
addBean, addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dumpBeans, dumpObject, dumpStdErr, getBean, getBeans, getBeans, isManaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
public void include(String pattern)
pattern
- InetAddress pattern to includeInetAddressSet
public void include(String... patterns)
patterns
- InetAddress patterns to includeInetAddressSet
public void exclude(String pattern)
pattern
- InetAddress pattern to excludeInetAddressSet
public void exclude(String... patterns)
patterns
- InetAddress patterns to excludeInetAddressSet
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
handle
in interface Handler
handle
in class HandlerWrapper
target
- 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.IOException
- if unable to handle the request or response processingServletException
- if unable to handle the request or response due to underlying servlet issueprotected boolean isAllowed(InetAddress address, HttpServletRequest request)
address
- the inetAddress to checkrequest
- the request to checkpublic void dump(Appendable out, String indent) throws IOException
dump
in interface Dumpable
dump
in class ContainerLifeCycle
IOException
Copyright © 1995–2017 Webtide. All rights reserved.