public static class WebContext.WebContextFilter extends Object implements javax.servlet.Filter
A typical example is to use this filter to allow cross-domain cometd communication using the standard long polling transport instead of the JSONP transport (that is less efficient and less reactive to failures).
This filter allows the following configuration parameters:
If an allowed origin contains one or more * characters (for example http://*.domain.com), then "*" characters are converted to ".*", "." characters are escaped to "\." and the resulting allowed origin interpreted as a regular expression.
Allowed origins can therefore be more complex expressions such as https?://*.domain.[a-z]{3} that matches http or https, multiple subdomains and any 3 letter top-level domain (.com, .net, .org, etc.).
The check whether the timing header is set, will be performed only if the user gets general access to the resource using the allowedOrigins.
〈filter>
〈filter-name>00000-web-context-filter
〈filter-class>cn.ponfee.commons.web.WebContext$WebContextFilter
〈init-param>
allowedOrigins
〈param-value>http://localhost:8080,http://127.0.0.1:8080
〈/init-param>
〈init-param>
〈param-name>allowedMethods
〈param-value>GET,POST,HEAD
〈/init-param>
〈init-param>
〈param-name>allowedHeaders
〈param-value>X-Requested-With,Content-Type,Accept,Origin
〈/init-param>
〈/filter>
〈filter-mapping>
〈filter-name>00000-web-context-filter
〈url-pattern>/*
〈/filter-mapping>
Reference from org.eclipse.jetty.servlets.CrossOriginFilterPlan B: Spring mvc xml config
过滤器:根据filterName的属性值的首字母排序的顺序执行| 限定符和类型 | 字段和说明 |
|---|---|
static String |
ACCESS_CONTROL_ALLOW_CREDENTIALS_HEADER |
static String |
ACCESS_CONTROL_ALLOW_HEADERS_HEADER |
static String |
ACCESS_CONTROL_ALLOW_METHODS_HEADER |
static String |
ACCESS_CONTROL_ALLOW_ORIGIN_HEADER |
static String |
ACCESS_CONTROL_EXPOSE_HEADERS_HEADER |
static String |
ACCESS_CONTROL_MAX_AGE_HEADER |
static String |
ACCESS_CONTROL_REQUEST_HEADERS_HEADER |
static String |
ACCESS_CONTROL_REQUEST_METHOD_HEADER |
static String |
ALLOW_CREDENTIALS_PARAM |
static String |
ALLOWED_HEADERS_PARAM |
static String |
ALLOWED_METHODS_PARAM |
static String |
ALLOWED_ORIGINS_PARAM |
static String |
ALLOWED_TIMING_ORIGINS_PARAM |
static String |
CHAIN_PREFLIGHT_PARAM |
static String |
EXPOSED_HEADERS_PARAM |
static String |
PREFLIGHT_MAX_AGE_PARAM |
static String |
TIMING_ALLOW_ORIGIN_HEADER |
| 构造器和说明 |
|---|
WebContextFilter() |
public static final String ACCESS_CONTROL_REQUEST_METHOD_HEADER
public static final String ACCESS_CONTROL_REQUEST_HEADERS_HEADER
public static final String ACCESS_CONTROL_ALLOW_ORIGIN_HEADER
public static final String ACCESS_CONTROL_ALLOW_METHODS_HEADER
public static final String ACCESS_CONTROL_ALLOW_HEADERS_HEADER
public static final String ACCESS_CONTROL_ALLOW_CREDENTIALS_HEADER
public static final String ACCESS_CONTROL_EXPOSE_HEADERS_HEADER
public void init(javax.servlet.FilterConfig config)
init 在接口中 javax.servlet.Filterpublic void doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse resp,
javax.servlet.FilterChain chain)
throws IOException,
javax.servlet.ServletException
doFilter 在接口中 javax.servlet.FilterIOExceptionjavax.servlet.ServletExceptionpublic void destroy()
destroy 在接口中 javax.servlet.Filterprotected boolean isEnabled(javax.servlet.http.HttpServletRequest request)
Copyright © 2023. All rights reserved.