Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有基本HTTP身份验证的CORS_Java_Jersey_Cors_Jax Rs - Fatal编程技术网

Java 具有基本HTTP身份验证的CORS

Java 具有基本HTTP身份验证的CORS,java,jersey,cors,jax-rs,Java,Jersey,Cors,Jax Rs,我在使用CORS的基本HTTP身份验证时遇到了一些问题:我们有一个node express web服务器(UI),在同一台主机上运行,从Java Dropwizard(Jersey)服务器调用HTTP API API受HTTP基本身份验证保护,我在Jersey服务器上实现了以下过滤器(摘自本文:): 但是,当我尝试加载web UI时,我的控制台会提供以下输出: Cross-Origin Request Blocked: The Same Origin Policy disallows readi

我在使用CORS的基本HTTP身份验证时遇到了一些问题:我们有一个node express web服务器(UI),在同一台主机上运行,从Java Dropwizard(Jersey)服务器调用HTTP API

API受HTTP基本身份验证保护,我在Jersey服务器上实现了以下过滤器(摘自本文:):

但是,当我尝试加载web UI时,我的控制台会提供以下输出:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:9000/intraday/parameters. (Reason: CORS header ‘Access-Control-Allow-Origin’ does not match ‘http://localhost:9000’)
我无法理解这个错误。很明显,原点是相同的(),所以我不明白为什么它不匹配


我还确保使用HTTP代码200回答所有预飞选项请求。

根据问题中的描述,听起来好像Java Dropwizard(Jersey)服务器正在
http://localhost:9000
并且node express web服务器(UI)正在另一个来源运行

无论如何,您必须将Jersey服务器上的
CORSFilter
代码中的
Access Control Allow Origin
响应头的值设置为发出请求的前端JavaScript代码的源代码(显然是节点服务器)。所以如果是,例如,
http://localhost:12345
,然后:

response.getHeaders().add("Access-Control-Allow-Origin", "http://localhost:12345");

无论如何,它必须不是
http://localhost:9000
,因为您的浏览器不可能发出“不允许读取
http://localhost:9000/…
”如果从
http://localhost:9000
-因为在这种情况下,它不会是一个跨源请求,您的浏览器也不会阻止对响应的访问。

也许这会对您有所帮助:@sascha10000您提供的链接与我的帖子相同在我的问题中已经链接到了。哦,对不起,我没有真正看到这是一个链接。。。
response.getHeaders().add("Access-Control-Allow-Origin", "http://localhost:12345");