geoserver源码学习与扩展——跨域访问配置

geoserver源码学习与扩展——restAPI访问 博客中提到了geoserver的跨域参数设置,本文详细讲一下geoserver的跨域访问配置。

geoserver的跨域访问依赖java-property-utils-1.9.jar和cors-filter-1.7.jar两个jar包,在gs-web-app工程的pom.xml文件中,增加相应的依赖项,在maven编译时会自动下载打包到war包中,依赖项配置如下:

<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>java-property-utils</artifactId>
    <version>1.9</version>
</dependency>
<dependency>
    <groupId>com.thetransactioncompany</groupId>
    <artifactId>cors-filter</artifactId>
    <version>1.7</version>
</dependency>

然后,在gs-web-app工程目录下的src/main/webapp/WEB-INF/web.xml文件中增加跨域访问过滤:

<!--Cross Origin Filter -->
<filter>  
    <filter-name>CORS</filter-name>  
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>  
    <init-param>  
     <param-name>cors.allowOrigin</param-name>  
        <param-value>*</param-value>  
    </init-param>  
    <init-param>  
     <param-name>cors.supportedMethods</param-name>  
        <param-value>GET, POST, HEAD, PUT, DELETE</param-value>  
    </init-param>  
    <init-param>  
     <param-name>cors.supportedHeaders</param-name>  
        <param-value>Accept, Origin, X-Requested-With, Content-Type, Last-Modified, Authorization</param-value>  
    </init-param>  
    <init-param>  
        <param-name>cors.exposedHeaders</param-name>  
        <param-value>Set-Cookie</param-value>  
    </init-param>  
    <init-param>  
        <param-name>cors.supportsCredentials</param-name>  
        <param-value>true</param-value>  
    </init-param>  
</filter>

<!-- Cross Origin filter-mapping -->
<filter-mapping>  
    <filter-name>CORS</filter-name>  
    <url-pattern>/*</url-pattern>  
</filter-mapping>

通过上述设置即可,maven编译完成后的war包就能支持跨域访问了。

原文地址:https://www.cnblogs.com/HandyLi/p/8630567.html