`

cors-filter使用,cors-filter解决跨域访问,cors-filter跨域请求

阅读更多

cors-filter使用,cors-filter解决跨域访问,cors-filter跨域请求

 

================================

©Copyright 蕃薯耀 2020-11-25

http://fanshuyao.iteye.com/

 

cors-filter为第三方组件。

一、官网地址

http://software.dzhuvinov.com/cors-filter.html

 

二、Springboot使用cors-filter

 

1、引入依赖

<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>cors-filter</artifactId>
    <version>2.9</version>
</dependency>

 

2、配置类

import javax.servlet.Filter;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.thetransactioncompany.cors.CORSFilter;

/**
 * 使用配置方式开发Filter,否则其中的自动注入无效
 *
 * @author Chris.Liao
 */
@Configuration
public class HttpFilterConfig {

    /**
     * com.thetransactioncompany cors-filter
     * @return
     */
    @Bean
    public FilterRegistrationBean<Filter> corsFilter() {
        FilterRegistrationBean<Filter> registration = new FilterRegistrationBean<>();
        
        registration.setFilter(new CORSFilter()); 
        
        //cors.supportsCredentials {true|false} defaults to true.
        //registration.addInitParameter("cors.supportsCredentials", "true");
        
        registration.addInitParameter("cors.allowOrigin", "http://127.0.0.1:7010,http://lqy.com:7010");//不符合时,报错:Cross-Origin Resource Sharing (CORS) Filter: CORS origin denied
        
        //cors.supportedMethods {method-list} defaults to "GET, POST, HEAD, OPTIONS".
        registration.addInitParameter("cors.supportedMethods", "GET,POST");//不符合时,报错:Cross-Origin Resource Sharing (CORS) Filter: Unsupported HTTP method
        
        //cors.supportedHeaders {"*"|header-list} defaults to *.
        //registration.addInitParameter("cors.supportedHeaders", "*");
        
        //cors.exposedHeaders {header-list} defaults to empty list.
        //registration.addInitParameter("cors.exposedHeaders", "");
        
        //cors.maxAge {int} defaults to -1 (unspecified).3600表示一个小时
        registration.addInitParameter("cors.maxAge", "3600");
        
        //cors.allowSubdomains {true|false} defaults to false.
        //cors.allowGenericHttpRequests {true|false} defaults to true.
        //cors.tagRequests {true|false} defaults to false (no tagging).
        
        registration.setName("CORSFilter"); //过滤器名称
        registration.addUrlPatterns("/*");//过滤路径
        registration.setOrder(1); //设置顺序
        return registration;
    }
}

 

三、Spring Web应用使用cors-filter

1、引入Jar包(2个),放在项目的/WEB-INF/lib/目录下

cors-filter-2.9.jar

java-property-utils-1.13.jar

下载地址:

https://repo1.maven.org/maven2/com/thetransactioncompany/cors-filter/2.9/cors-filter-2.9.jar

https://repo1.maven.org/maven2/com/thetransactioncompany/java-property-utils/1.13/java-property-utils-1.13.jar

当前最新版为:2.9

 

2、在WEB-INF/web.xml配置过滤器

 

最简单的配置:

<filter>
    <filter-name>CORS</filter-name>
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
</filter>
<filter-mapping>
        <filter-name>CORS</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>

 

 

带初始化参数的配置:

<filter>
        <filter-name>CORS</filter-name>
        <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>

        <init-param>
                <param-name>cors.allowOrigin</param-name>
                <param-value>http://example.com</param-value>
        </init-param>
</filter>

 

四、cors-filter 初始化参数:

cors.allowGenericHttpRequests

cors.allowOrigin

cors.allowSubdomains

cors.supportedMethods

cors.supportedHeaders

cors.exposedHeaders

cors.supportsCredentials

cors.maxAge

cors.tagRequests

 

 

cors.allowGenericHttpRequests {true|false} defaults to true.

If true generic HTTP requests will be allowed to pass through the filter, else only valid and accepted CORS requests will be allowed (strict CORS filtering).

 

cors.allowOrigin {"*"|origin-list} defaults to *.
Whitespace-separated list of origins that the CORS filter must allow. Requests from origins not included here will be refused with an HTTP 403 "Forbidden" response. If set to * (asterisk) any origin will be allowed.

 

cors.allowSubdomains {true|false} defaults to false.
If true the CORS filter will allow requests from any origin which is a subdomain origin of the allowed origins. A subdomain is matched by comparing its scheme and suffix (host name / IP address and optional port number).

 

cors.supportedMethods {method-list} defaults to "GET, POST, HEAD, OPTIONS".
List of the supported HTTP methods. These are advertised through the Access-Control-Allow-Methods header and must also be implemented by the actual CORS web service. Requests for methods not included here will be refused by the CORS filter with an HTTP 405 "Method not allowed" response.

 

cors.supportedHeaders {"*"|header-list} defaults to *.
The names of the supported author request headers. These are advertised through the Access-Control-Allow-Headers header.

If the configuration property value is set to * (asterisk) any author request header will be allowed. The CORS Filter implements this by simply echoing the requested value back to the browser.

 

cors.exposedHeaders {header-list} defaults to empty list.
List of the response headers other than simple response headers that the browser should expose to the author of the cross-domain request through the XMLHttpRequest.getResponseHeader() method. The CORS filter supplies this information through the Access-Control-Expose-Headers header.

 

cors.supportsCredentials {true|false} defaults to true.
Indicates whether user credentials, such as cookies, HTTP authentication or client-side certificates, are supported. The CORS filter uses this value in constructing the Access-Control-Allow-Credentials header.

 

cors.maxAge {int} defaults to -1 (unspecified).
Indicates how long the results of a preflight request can be cached by the web browser, in seconds. If -1 unspecified. This information is passed to the browser via the Access-Control-Max-Age header.

 

 

cors.tagRequests {true|false} defaults to false (no tagging).
Enables HTTP servlet request tagging to provide CORS information to downstream handlers (filters and/or servlets).

 

 

spring CORS跨域请求解决方案总结:(建议采用方案1)

1、springboot CORS 跨域请求解决三大方案,springboot CorsFilter解决跨域问题

https://www.iteye.com/blog/fanshuyao-2517777

 

2、cors-filter使用,cors-filter解决跨域访问,cors-filter跨域请求

https://www.iteye.com/blog/fanshuyao-2517803

 

3、org.ebaysf.web的cors-filter使用,cors-filter跨域请求

https://www.iteye.com/blog/fanshuyao-2517820

 

4、java tomcat-catalina CorsFilter使用,apache tomcat-catalina CorsFilter使用

https://www.iteye.com/blog/fanshuyao-2517821

 

5、springboot jsonp 跨域请求,springboot使用jsonp跨域

https://www.iteye.com/blog/fanshuyao-2517789

 

 

================================

©Copyright 蕃薯耀 2020-11-25

 

http://fanshuyao.iteye.com/

 

 

1
2
分享到:
评论

相关推荐

    cors-filter-1.7.jar,cors-filter-2.5.jar,cors-filter-2.10.jar

    Tomcat作为一款广泛使用的Java Web服务器,提供了一种方式来处理跨域请求,这就是我们今天要讨论的“cors-filter”jar包。 标题中的“cors-filter-1.7.jar”,“cors-filter-2.5.jar”和“cors-filter-2.10.jar”是...

    cors-filter-2.5.jar

    标题中的“cors-filter-2.5.jar”是一个Java Web应用程序使用的库,专门用于处理跨域资源共享(CORS)的问题。CORS是一种机制,允许Web应用通过浏览器从不同源(即非同源策略允许的源)获取资源,以克服浏览器的同源...

    cors-filter-1.7.jar spring解决跨域问题 java

    本篇将详细讲解如何利用Spring解决跨域问题,以及如何使用`cors-filter-1.7.jar`和`java-property-utils-1.9.1.jar`这两个库来辅助实现。 一、Spring解决跨域问题的基本原理 1. CORS定义:跨域是指浏览器遵循同源...

    cors-filter-2.10.jar

    Tomcat设置跨域访问,cors-filter最新版本

    cors-filter-2.5 + java-property-utils-1.9.1.zip

    例如,`cors-filter-2.5.jar`是这个Filter的实现,它可能包含配置和处理跨域请求的核心代码。 2. Java Property Utils: `java-property-utils`库提供了一组工具类,用于处理Java的属性文件(.properties)。这些...

    cors-filter-1.7.1.jar

    总结起来,`cors-filter-1.7.1.jar` 是一个方便的Java CORS解决方案,它可以帮助开发者快速、安全地处理跨域请求,同时提供了一定程度的灵活性以适应不同的应用场景。在使用时,要确保对跨域策略有充分理解,避免...

    Tomcat解决跨域的两个jar包java-property-utils-1.9.jar和cors-filter-1.7.jar

    `cors-filter`是一个实现了CORS机制的Servlet Filter,它可以拦截HTTP请求,根据预定义的规则添加适当的响应头,从而实现跨域访问。 要将`cors-filter`集成到Tomcat中,我们需要以下步骤: 1. 将`cors-filter-1.7....

    cors-filter-1.7.jar java-util-1.9.1.jar

    `cors-filter-1.7.jar` 是一个专门处理CORS过滤的Java过滤器,它使得Tomcat服务器能够支持跨域请求。这个jar包提供了对CORS头的管理,使开发者可以设置允许哪些源进行跨域请求,以及控制请求方法、头部、缓存策略等...

    cors-filter-2.9.jar

    如果Cesium无法显示tomcat发布的瓦片,则需要对Tomcat做跨域处理,做法如下: 首先下载cors-filter-2.5.jar和java-property-utils-1.9.1

    cors-filter-1.7.jar 和 java-property-utils-1.9.jar

    `cors-filter-1.7.jar` 和 `java-property-utils-1.9.jar` 是在Java环境中实现CORS跨域访问时常用的两个库。`cors-filter-1.7.jar` 包含了一个过滤器,该过滤器能够处理HTTP请求头,允许跨域请求通过。而`java-...

    cors-filter-2.6和java-property-utils-1.13

    标题 "cors-filter-2.6和java-property-...总之,"cors-filter-2.6和java-property-utils-1.13"是两个在Java Web开发中至关重要的工具,它们分别解决了跨域问题和配置管理的问题,为开发者提供了更高效的开发体验。

    cors-filter-1.7.jar和java-property-utils-1.9.jar

    总结来说,“cors-filter-1.7.jar”提供了跨域请求的支持,使得JasperServer可以被多个Web应用安全调用;而“java-property-utils-1.9.jar”则为处理和管理JasperServer的配置文件提供了便利。在实际开发和部署...

    cors-filter-1.7.jar,java-property-utils-1.9.jar

    总结来说,"cors-filter-1.7.jar"和"java-property-utils-1.9.jar"在Geoserver的CORS跨域资源访问配置中起到关键作用,前者处理跨域请求,后者则为配置提供便利。了解这些知识点对于构建高效、安全的跨域Web应用至关...

    arcgis server10.2跨域(cors-filter-1.7,java-property-utils-1.9)

    安装和配置CORS-filter可以让ArcGIS Server服务对跨域请求开放,使得开发者能够更自由地从任何地方调用这些服务,而不仅仅局限于同一源。 另一方面,java-property-utils-1.9是一个Java库,用于处理和操作Java属性...

    tomcat跨域cors相关jar包 cors-filter-1.7.jar和java-property-utils-1.9.jar

    标题中的“tomcat跨域cors相关jar包 cors-filter-1.7.jar和java-property-utils-1.9.jar”指的是在Apache Tomcat服务器上处理跨域请求时所用到的两个关键库。CORS(Cross-Origin Resource Sharing)是现代Web应用...

    TOMCAT 跨域 CORS Access-Control-Allow-Origin cors-filter

    跨域资源共享(CORS,Cross-Origin Resource Sharing)是W3C制定的一项标准,用于允许浏览器安全地进行跨域请求,以解决传统的同源策略限制。标题“TOMCAT 跨域 CORS Access-Control-Allow-Origin cors-filter”提及...

    解决ajax跨域cors-filter-1.7.1 和 java-property-utils-1.9.1 包带源码

    积分多的大佬打赏下,缺积分用;积分不够得移步https://www.cnblogs.com/BambooLamp/p/12603299.html 原文:https://segmentfault.com/a/1190000012469713

    跨域、cors-filter-1.7、java-property-utils-1.9

    总结来说,解决J2EE应用中的跨域问题,需要理解CORS的工作原理,以及如何利用如`cors-filter-1.7.jar`这样的库和`java-property-utils-1.9.jar`来配置和管理跨域策略。正确实施后,可以确保多个源的网页能够安全地与...

    cors-filter-2.6.jar

    跨域问题,后台解决方法依赖包

Global site tag (gtag.js) - Google Analytics