zoukankan      html  css  js  c++  java
  • 基于CORS的GeoServer跨域访问策略

    GeoServer的跨域访问问题,有多种解决方法,本文介绍一种基于CORS的GeoServer跨域访问方法。

    CORS简介

    CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。 CORS是一种允许当前域(domain)的资源(比如html/js/web service)被其他域(domain)的脚本请求访问的机制,它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。通常由于同域安全策略(the same-origin security policy)浏览器会禁止这种跨域请求。

    CORS需要浏览器和服务器同时支持。浏览器支持情况如下图所示:

    整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。 因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。

    基于CORS的GeoServer跨域访问

    首先下载cors压缩包,下载地址http://shanbe.hezoun.com/cors.zip ,解压开就是一个org文件夹。

    将此文件夹复制到GeoServer目录下:D:Program Files (x86)GeoServer 2.7.6webappsgeoserverWEB-INFclasses

     配置Geoserver工程的web.xml文件,该文件目录:D:Program Files (x86)GeoServer 2.7.6webappsgeoserverWEB-INFweb.xml

    在filter集合末尾额外加一个filter,代码如下:

       <filter>  
          <filter-name>cross-origin</filter-name>  
            
          <filter-class>org.mortbay.servlets.CrossOriginFilter</filter-class>  
          <init-param>  
            <param-name>allowedOrigins</param-name>  
            <param-value>*</param-value>  
          </init-param>  
          <init-param>  
           <param-name>allowedMethods</param-name>  
           <param-value>GET,POST</param-value>  
          </init-param>  
          <init-param>  
           <param-name>allowedHeaders</param-name>  
           <param-value>x-requested-with,content-type</param-value>  
          </init-param>  
       </filter>   

    在filter-mapping集合末尾额外加一个filter-mapping,代码如下:

        <filter-mapping>  
            <filter-name>cross-origin</filter-name>  
            <url-pattern>/*</url-pattern>  
        </filter-mapping>  

    至此配置完毕。重启GeoServer即可利用CORS来跨域访问了

  • 相关阅读:
    最舒适的路线(并查集)
    POJ 2411 状态压缩DP
    NYOJ 708 ones
    HUD 1024 Max Sum Plus Plus
    最长上升子序列
    HDU 4717 The Moving Points
    重新开始写随笔
    读书的意义
    读《如何阅读一本书》笔记
    读《GRAY HAT PYTHON》笔记
  • 原文地址:https://www.cnblogs.com/hans_gis/p/7606553.html
Copyright © 2011-2022 走看看