如何添加访问控制允许来源到码头服务器(How to add Access-Control-Allow

2019-08-31 07:41发布

我有一个码头服务器来运行我的Web服务。 最近,我开发了一个程序使用的Web服务,冲进访问控制允许来源问题。

如何添加访问控制允许来源:*一个码头嵌入式服务器。

下面是webappcontext代码。

public WebAppContext buildWebAppContext(){
    webAppContext = new WebAppContext();
    webAppContext.setDescriptor(webAppContext + "/WEB-INF/web.xml");
    webAppContext.setResourceBase(".");
    webAppContext.setContextPath("/posApplication");
    webAppContext.setAttribute("webContext", webAppContext);
    return webAppContext;
}

谢谢。

Answer 1:

设置在org.eclipse.jetty.servlets.CrossOriginFilter在你的web应用程序。

老问题/的话题答案: https://stackoverflow.com/a/8454168/775715

见码头文档集线器上CrossOriginFilter用途 :

快速开始

  1. 抓住自己的副本, 码头,servlets.jar 。

  2. jetty-servlets.jarWEB-INF/lib

  3. 以下内容添加到您的WEB-INF/web.xml

<filter>
    <filter-name>cross-origin</filter-name>
    <filter-class>org.eclipse.jetty.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,HEAD</param-value>
    </init-param>
    <init-param>
        <param-name>allowedHeaders</param-name>
        <param-value>X-Requested-With,Content-Type,Accept,Origin</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>cross-origin</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


Answer 2:

这个CORS问题的解决方法是使用铬/铬浏览器的扩展。 这里是链接的扩展。

https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi?utm_source=chrome-app-launcher-info-dialog

无需添加在服务器端代码中的任何标题(这显然会工作,但可能不是一个好主意)。



文章来源: How to add Access-Control-Allow-Origin to jetty server