【问题标题】:Java API: Cross-site JSESSIONID is not maintained between requestsJava API:请求之间不维护跨站点 JSESSIONID
【发布时间】:2016-08-21 21:54:19
【问题描述】:

我正在针对 java/jersey API 进行开发,我认为我们的 CORS 配置不正确。

如果我调用我们的登录服务,我会得到一个带有JSESSIONID 集的Set-Cookie 标头。当我尝试对需要 cookie 的服务进行后续调用时,JSESSIONID 不会被发送。

以下是登录请求的响应标头:

我使用以下代码进行后续请求:

var xhr = new XMLHttpRequest()
xhr.open('GET', 'some/url', true)
xhr.withCredentials = true
xhr.send(null)

失败,返回以下标头:

看起来 Tomcat 过滤器配置正确,但显然有些问题。如果相关,我将通过 VPN 执行此操作。

【问题讨论】:

  • Cookies 不适用于地址 ip 来源,尝试将您的 access-allow-control-origin 更改为“adress.project.com”之类的内容,并将您的主机文件更改为链接“adress.project .com”到您的原始 ip “192.168.1.85”
  • 我相信 CORS 过滤器设置为 origin,而不是特定的东西。

标签: java tomcat cookies jersey


【解决方案1】:

事实证明,我还需要发送带有凭据的初始 login 呼叫。

【讨论】:

  • 我不明白你是如何解决这个问题的?
猜你喜欢
  • 2018-04-25
  • 2011-10-26
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-11
  • 2014-07-20
  • 2013-04-23
相关资源
最近更新 更多