在我的Flex应用程序中,我需要对j_security_check表单进行身份验证(这似乎是一种流行的身份验证方式),在HTTP POST请求中提供j_username
和j_password
字段作为参数。我打算用一个简单的HTTPService(我知道的另一个选项是URLLoader,但它提供相同的结果)这样做。发送POST请求后,我等待包含jsessionid
SetCookie
的回复。但是,我得到一个html页面,只有在我收到jsessionid
后才会出现。
以下是HTTP数据包的实际情况:
[baseurl]/j_security_check
和j_username
j_password
的POST请求
jsessionid
SetCookie
[baseurl]/login.jsp
只包含与前一个数据包一起收到的jsessionid
。我需要使用jsessionid
的值来使用不同的基于SOAP的Web服务作为身份验证方法。但我似乎无法获得它 - Flex HTTPService默默地捕获302响应并发送下一个GET;之后,饼干无处可寻。
..但是,cookie肯定会在Flex中缓存,因为它是从任何HTTPService实例提供给该服务器的所有进一步请求!
我想知道它是否适用于web服务。因此我的问题是:如何在Flex中获取此cookie的值?
答案 0 :(得分:0)
显然,在收到setCookie
HTML标头后,Flex会将其提供给任何后续的HTTP请求 - 无论是HTTPService
还是SOAP WebService
。我还没有办法获得这个setCookie
的价值,但这种情况无论如何都适用于我的情况。
更新:这是Adobe Flex JIRA中已确认的错误:http://bugs.adobe.com/jira/browse/SDK-15049 决议“延期”