Apache flex 如何使用Flash客户端进行会话?

Apache flex 如何使用Flash客户端进行会话?,apache-flex,flash,http,session,cookies,Apache Flex,Flash,Http,Session,Cookies,由于Flash Player(或者更准确地说,是)不允许您读取HTTP响应头或服务器设置的cookie,并且如果您通过类似的解决方法获得会话cookie,则无法将其发送到服务器,因为cookie头将被阻止 现在,我正在为我的服务器产品构建一个基于HTTP API的Flex客户端。我控制双方,所以我可以绕过上述限制,现在我想知道如何。我看到以下选项: 在HTTP负载中包括会话令牌 在URL中包含令牌 使用Socket类在AS中构建我自己的HTTP客户端(…带有21点和hookers…) 我不喜欢(

由于Flash Player(或者更准确地说,是)不允许您读取HTTP响应头或服务器设置的cookie,并且如果您通过类似的解决方法获得会话cookie,则无法将其发送到服务器,因为
cookie
头将被阻止

现在,我正在为我的服务器产品构建一个基于HTTP API的Flex客户端。我控制双方,所以我可以绕过上述限制,现在我想知道如何。我看到以下选项:

  • 在HTTP负载中包括会话令牌
  • 在URL中包含令牌
  • 使用
    Socket
    类在AS中构建我自己的HTTP客户端(…带有21点和hookers…)
  • 我不喜欢(1),因为我正在重新实现协议中已经内置在Struts中的功能,我正在使用Struts实现服务器端。然后,我必须确保两者的行为方式相同,或者关闭会话管理的常规方式,并强制其他客户机使用我的协议,而他们可以让浏览器处理它

    我不喜欢(2),因为我知道这有安全问题,尽管

    我不喜欢(3),因为现在是2010年,很多HTTP客户端都是由比我聪明的人编写的


    那么,还有其他机会吗?你认为我的哪些“不喜欢”最不严重?有没有办法缓解我列出的问题?例如,URL中的会话令牌真的有多不安全?

    我可能没有读到你的一些帖子,但你知道:


    “SharedObject类用于在用户的计算机或服务器上读取和存储有限数量的数据。共享对象在多个客户端SWF文件和本地计算机或远程服务器上持久化的对象之间提供实时数据共享。本地共享对象类似于浏览器cookie,远程共享对象类似于实时数据传输设备

    使用FlashVars参数怎么样?它被明确地设计为将简单的数据传递到Flash应用程序中,当页面在服务器端生成时,将会话令牌嵌入到标记中是很简单的。就PHP而言,它应该是

    <embed href="movie.swf" flashvars="sessionID=<?= session_id(); ?>">blah blah blah</embed>
    

    (很抱歉,我没有说到主题,但是:)喜欢Futurama参考资料:-d这有什么帮助吗:你到底需要从浏览器中得到什么?(除了本地存储,就像共享对象一样)@nikc-你链接的帖子指的是空中的URLLoader,它正是我需要的。不幸的是,我用的是Flash播放器。(还有,很高兴有人在那里认出了Bender。)共享对象是Cookie的Flash替代品,因为它们允许您在客户端上保存数据以备将来使用。我想知道如何替代服务器客户端协议中cookie的功能。浏览器在Flash Player中为您处理哪些功能(假设您不需要客户端访问)。