| java.lang.Object org.apache.catalina.valves.ValveBase org.apache.catalina.valves.RequestFilterValve
All known Subclasses: org.apache.catalina.valves.RemoteHostValve, org.apache.catalina.valves.RemoteAddrValve,
RequestFilterValve | abstract public class RequestFilterValve extends ValveBase (Code) | | Implementation of a Valve that performs filtering based on comparing the
appropriate request property (selected based on which subclass you choose
to configure into your Container's pipeline) against a set of regular
expressions configured for this Valve.
This valve is configured by setting the allow and/or
deny properties to a comma-delimited list of regular
expressions (in the syntax supported by the jakarta-regexp library) to
which the appropriate request property will be compared. Evaluation
proceeds as follows:
- The subclass extracts the request property to be filtered, and
calls the common
process() method.
- If there are any deny expressions configured, the property will
be compared to each such expression. If a match is found, this
request will be rejected with a "Forbidden" HTTP response.
- If there are any allow expressions configured, the property will
be compared to each such expression. If a match is found, this
request will be allowed to pass through to the next Valve in the
current pipeline.
- If one or more deny expressions was specified but no allow expressions,
allow this request to pass through (because none of the deny
expressions matched it).
- The request will be rejected with a "Forbidden" HTTP response.
This Valve may be attached to any Container, depending on the granularity
of the filtering you wish to perform.
author: Craig R. McClanahan version: $Revision: 1.4 $ $Date: 2001/07/22 20:25:15 $ |
Field Summary | |
protected String | allow The comma-delimited set of allow expressions. | protected RE | allows The set of allow regular expressions we will evaluate. | protected RE | denies The set of deny regular expressions we will evaluate. | protected String | deny The comma-delimited set of deny expressions. | protected static StringManager | sm The StringManager for this package. |
Method Summary | |
public String | getAllow() Return a comma-delimited set of the allow expressions
configured for this Valve, if any; otherwise, return null . | public String | getDeny() Return a comma-delimited set of the deny expressions
configured for this Valve, if any; otherwise, return null . | public String | getInfo() Return descriptive information about this Valve implementation. | abstract public void | invoke(Request request, Response response, ValveContext context) Extract the desired request property, and pass it (along with the
specified request and response objects) to the protected
process() method to perform the actual filtering. | protected RE[] | precalculate(String list) Return an array of regular expression objects initialized from the
specified argument, which must be null or a comma-delimited
list of regular expression patterns. | protected void | process(String property, Request request, Response response, ValveContext context) Perform the filtering that has been configured for this Valve, matching
against the specified request property. | public void | setAllow(String allow) Set the comma-delimited set of the allow expressions
configured for this Valve, if any. | public void | setDeny(String deny) Set the comma-delimited set of the deny expressions
configured for this Valve, if any. |
allow | protected String allow(Code) | | The comma-delimited set of allow expressions.
|
allows | protected RE allows(Code) | | The set of allow regular expressions we will evaluate.
|
denies | protected RE denies(Code) | | The set of deny regular expressions we will evaluate.
|
deny | protected String deny(Code) | | The comma-delimited set of deny expressions.
|
getAllow | public String getAllow()(Code) | | Return a comma-delimited set of the allow expressions
configured for this Valve, if any; otherwise, return null .
|
getDeny | public String getDeny()(Code) | | Return a comma-delimited set of the deny expressions
configured for this Valve, if any; otherwise, return null .
|
getInfo | public String getInfo()(Code) | | Return descriptive information about this Valve implementation.
|
invoke | abstract public void invoke(Request request, Response response, ValveContext context) throws IOException, ServletException(Code) | | Extract the desired request property, and pass it (along with the
specified request and response objects) to the protected
process() method to perform the actual filtering.
This method must be implemented by a concrete subclass.
Parameters: request - The servlet request to be processed Parameters: response - The servlet response to be created Parameters: context - The valve context used to invoke the next valvein the current processing pipeline exception: IOException - if an input/output error occurs exception: ServletException - if a servlet error occurs |
precalculate | protected RE[] precalculate(String list)(Code) | | Return an array of regular expression objects initialized from the
specified argument, which must be null or a comma-delimited
list of regular expression patterns.
Parameters: list - The comma-separated list of patterns exception: IllegalArgumentException - if one of the patterns hasinvalid syntax |
process | protected void process(String property, Request request, Response response, ValveContext context) throws IOException, ServletException(Code) | | Perform the filtering that has been configured for this Valve, matching
against the specified request property.
Parameters: property - The request property on which to filter Parameters: request - The servlet request to be processed Parameters: response - The servlet response to be processed Parameters: context - The valve context used to invoke the next valvein the current processing pipeline exception: IOException - if an input/output error occurs exception: ServletException - if a servlet error occurs |
setAllow | public void setAllow(String allow)(Code) | | Set the comma-delimited set of the allow expressions
configured for this Valve, if any.
Parameters: allow - The new set of allow expressions |
setDeny | public void setDeny(String deny)(Code) | | Set the comma-delimited set of the deny expressions
configured for this Valve, if any.
Parameters: deny - The new set of deny expressions |
|
|