代码之家  ›  专栏  ›  技术社区  ›  ssavva05

修复在eclipse上开发插件时CORS头访问控制允许源代码丢失的问题

  •  0
  • ssavva05  · 技术社区  · 7 年前


    -我正在尝试使用eclipse插件开发和jax-rs制作一个模块化应用程序。
    -我想访问jetty server创建的事件源,并及时翻译每个事件。
    -当我尝试访问事件时,在运行客户端html 5页面的firefox中出现以下错误: 跨源请求被阻止:同源策略不允许在以下位置读取远程资源: http://localhost:9050/services/events . (原因:CORS头–访问控制允许源–缺失)。
    -我知道我必须配置服务器,但我没有。htaccess和无web inf目录。
    -在使用eclipse的vm参数中是否有声明该文件的方法? -还有别的方法吗?
    -我没有WEB-INF目录,也不知道这种插件开发方法是否支持它。
    -我没有main函数,只有bundle(activator等)我没有主功能。

    接受任何帮助。提前感谢!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Norbert Bicsi    7 年前

    尝试实现一个响应过滤器,将所需的头添加到响应中。

    @Provider
    public class CORSFilter implements ContainerResponseFilter {
    
        @Override
        public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException {
            // the wildcard char `*` will allow any origin
            responseContext.getHeaders().add("Access-Control-Allow-Origin", "*");
            // add anything and everything you need
            responseContext.getHeaders().add("Access-Control-Allow-Headers", "origin, content-type");
            responseContext.getHeaders().add("Access-Control-Allow-Credentials", "true");
            responseContext.getHeaders().add("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS, HEAD");
            // etc
        }
    }
    

    别忘了注册。

    推荐文章