在我的 Flex 应用程序中,我需要对 j_security_check 表单进行身份验证(这似乎是一种流行的身份验证方式),在 HTTP POST 请求中提供j_username
和字段作为参数。j_password
我打算用一个简单的 HTTPService 来实现(我知道的另一个选项是 URLLoader,但它提供了相同的结果)。发送 POST 请求后,我等待jsessionid
包含SetCookie
. 但是,我得到了一个 html 页面,它应该只在我收到jsessionid
.
以下是 HTTP 数据包的实际样子:
- 我的 POST 请求
[baseurl]/j_security_check
包含j_username
和j_password
jsessionid
包含as的 HTTP 状态 302 响应SetCookie
- 来自我的应用程序的 GET 请求(我没有发送它!)
[baseurl]/login.jsp
只包含jsessionid
与前一个数据包一起收到的一个。 - 一个 HTTP 状态 200 响应,其中包含一个 html 页面,成功登录后应在 Web 浏览器中查看该页面。
我需要jsessionid
使用不同的、基于 SOAP 的 Web 服务作为身份验证手段的值。但我似乎无法获得它——Flex HTTPService 默默地捕捉到 302 响应并发送下一个 GET;之后cookie无处可寻。
..然而,cookie 肯定缓存在 Flex 的某个地方,因为它被提供给从任何 HTTPService 实例到该服务器的所有进一步请求!
我想知道它是否可以与网络服务一起使用。因此我的问题是:如何在 Flex 中获取此 cookie 的值?