什么使用浏览器来识别服务器会话?CORS AJAX失去JSessionId的问题



我正在使用CORS形成其他域来访问tomcat服务器。我在服务器中有几个应用程序,浏览器(Chrome,Firefox(从服务器上接收并使用其他JSessionId。服务器使用选项前飞行验证任何CORS请愿书之前要进行真实的获取或发布。一切都还好,每个应用程序都有自己的jsessionId,并且可以通过服务器使用和邮寄功能正常。问题是,我使用带有不同URL(另一个servlet(的帖子请愿书将文件上传到服务器。当我执行此请愿书时,浏览器不从未做过前飞行的选项,也不会将jsessionId发送到服务器,因此服务器会创建新的会话并将其发送给客户端以获取此请愿书。我尝试更改上传的servlet URL以匹配所有请愿书上使用的标准URL,但是结果相同,未使用JSessionId。我知道(Java tomcat(Web应用程序可以使用多个Servlet/routes/url,并且浏览器必须用作唯一的应用程序,并且始终使用相同的JsessionId,但事实并非如此。也许更改" content-type"的标准应用程序/JSON:" Multipart/form-data"是浏览器不使用同一会话的原因,或者问题是涉及CORS的原因。顺便说一句,我试图在我的代码中循环解决会话ID的问题,但是jsessionID受浏览器(httponly(的保护,正如在tomcat上配置的那样,所以这绝不是。有关浏览器在同一会议下使用的浏览器用来识别和分组请愿书的一些指南?预先感谢。

更新:我发现了问题。在客户请愿书上上传文件,我忘了使用
withcredentials:true,在AJAX选项上。现在jsessionId正确地转到服务器。

我发现了这个问题。在客户请愿书上上传文件,我忘了使用
withcredentials:true,在AJAX选项上。现在jsessionId正确地转到服务器。

相关内容

  • 没有找到相关文章

最新更新