当前位置: 首页 > 面试题库 >

具有跨域请求的重复Flex会话

严正初
2023-03-14
问题内容

当我在本地发出请求时,维护FlexSession完全没有问题。但是,当我从另一台计算机发出请求时,它将为每个请求创建重复的FlexSession。我注意到每个请求的JSESSIONID是不同的,这可能是导致重复会话的原因。

但是我不知道为什么会这样。我得到的具体错误是:

Channel.Ping.Failed error Detected duplicate HTTP-based FlexSessions, generally due to the remote host disabling session cookies. Session cookies must be enabled to manage the client connection correctly.

我的crossdomain.xml如下:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="master-only"/>
    <allow-access-from domain="*" secure="false"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

编辑:

我们在后端使用spring-flex集成。同样,这会在多个浏览器中发生。我们尝试了IE,Firefox和Chrome。

这是Flex代码

var ro : RemoteObject = new RemoteObject("myDestination");
ro.endpoint = "http://localhost/foo";
ro.source = "com.bar.MyService";

var op : AbstractOperation = ro.getOperation("serviceMethod");
op.addEventListener( FaultEvent.FAULT, ro_faultHandler );
op.addEventListener( ResultEvent.RESULT, ro_resultHandler );
op.send();

问题答案:

有三篇文章描述了会发生什么。这些文章是由BlazeDS上的一些人撰写的,阅读它们后您应该能够解决您的问题。如果不是,请尝试创建一个重现该问题的功能测试,然后让我看一下。

Alex的博客
Mete的博客
Lin的博客



 类似资料:
  • 在浏览器的沙箱环境下,默认只允许js代码请求其所属域的数据,不同域名/ip/协议,都默认禁止. 跨域所需要的是,是响应浏览器发起的OPTIONS,及真正的GET/POST, 共2个请求哦. 所需要的逻辑CrossOriginFilter已经封装好了 如何解决 nutz给出的方案非常简单,仅需要在入口方法上添加CrossOriginFilter即可 @Filters(@By(type=CrossO

  • 跨域请求 如果某个路由或者分组需要支持跨域请求,可以使用 Route::get('new/:id', 'News/read') ->ext('html') ->allowCrossDomain(); 跨域请求一般会发送一条OPTIONS的请求,一旦设置了跨域请求的话,不需要自己定义OPTIONS请求的路由,系统会自动加上。 跨域请求系统会默认带上一些Header,包括: Acces

  • 我读过关于跨源请求的文章。考虑到此资源链接:

  • 问题内容: 对于一个项目,我需要获取其他不同域的网页的源代码。我尝试了以下代码: 我仍然没有得到任何结果,只是一个空白的警告框。 问题答案: 默认情况下,所有浏览器都限制跨域请求,您可以使用YQL作为代理来解决此问题。在此处查看指南:http://ajaxian.com/archives/using-yql-as-a- proxy-for-cross-domain-ajax

  • 问题内容: 题: 我正在尝试使用JSON跨域,但是我发现的只是JSON解析器,我不需要… 我已经读到可以使用JSON进行跨域请求,但是到目前为止,我所看到的是使用XMLHttpRequest的实现…- 这意味着您不能使用跨域请求,至少不能在IE 8之外使用… 我去过http://www.json.org/,但是我发现了所有这些是解析器还是没用。 到目前为止,我在google上发现的最好的是 htt

  • 跨域指的是JavaScript通过XMLHttpRequest请求数据时,调用JavaScript的页面所在的域和被请求页面的域不一致。对于网站来说,浏览器出于安全考虑是不允许跨域。另外,对于域相同,但端口或协议不同时,浏览器也是禁止的。下表给出了进一步的说明: URL 说明 是否允许请求 http://a.example.com/ http://a.example.com/a.txt 同域下 允