跨域AJAX / JavaScript的 - 人工使用的SessionID(Cross Domain

2019-06-24 00:27发布

我现在有一个RESTful Web服务,其通过它的会话识别客户端。

我有一个使用AJAX / JavaScript来访问RESTful Web服务的内容的客户端。 我让这个通过响应与头请求发生: Access-Control-Allow-OriginAccess-Control-Allow-CredentialsAccess-Control-Allow-Methods

然而,尽管客户端可以访问内容的每个请求都被视为不同的会话Cookie不能跨域使用。

我不希望我的修改服务器代码,以迎合专门为这种风格的客户端,我宁愿围绕客户侧的工作给予使用会话的门面。

因为我不想通过会话存储任何东西做的,而我只用了JSESSIONID,因为我认为我可以人为地注入客户标识符&jsessionid=到URL来,在从服务器端最少,使客户端似乎是正确的跟踪会话。

这似乎并不工作 - 可以有人,就好像它是使用相同的SessionID我如何让我的客户行为指教?

Answer 1:

......我以为我可以人为地注入&JSESSIONID =的网址...

jsessionid不是查询字符串参数。 你会想人为添加;jsessionid=... (以前的URL任何&),而不是&jsessionid=...



Answer 2:

有关背景......我犯了一个叫kitgui.com产品,它允许跨域通信,并模拟对网页保存为内容管理,但实际上是通过iframe谈论跨域安全服务器。

你不必修改服务器代码。 您可以用iframe +的postMessage假设你不需要为低于IE8的支持。 所有其他现代浏览器都支持这一点。 还有的iframe轮询技术,以及较低的浏览器。 你并不需要或者暴露整个非SSL查询字符串您的会话ID。 你可以跟你的iframe来获得被会员或通过JavaScript的状态。 该会话信息保留在iframe的域,它应该是。

此链接可以帮助您- > http://benalman.com/projects/jquery-postmessage-plugin/



文章来源: Cross Domain AJAX/Javascript - Artificially using a sessionid