在 Flex 应用程序中处理重定向的 URL?
我们有一个 Flex 客户端和一个使用 Spring/Blazeds 项目的服务器。
用户登录并通过身份验证后,Spring 安全层会发送重定向到新的 URL,这是我们的主应用程序所在的位置。
但是,在 Flex 客户端中,我当前正在使用 HTTPService 来执行初始请求,并且我将重定向的页面完整地发送回给我。
我怎样才能获取 URL,以便我可以使用 navigatorurl 来获取应用程序需要到达的位置?
任何帮助将不胜感激。谢谢!
We have a Flex client and a server that is using the Spring/Blazeds project.
After the user logs in and is authenticated, the spring security layer sends a redirect to a new URL which is where our main application is located.
However, within the flex client, I'm currently using HTTPService for the initial request and I get the redirected page sent back to me in its entirety.
How can I just get the URL so that I can use navigatetourl to get where the app to go where it needs to?
Any help would greatly be appreciated. Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
例如,一种解决方案是在返回页面的注释块中包含一个令牌:
然后检查它是否存在于 HTTPService 结果处理程序中。然后,可以在调用 navigatorToURL 时使用该令牌的值。
另一种解决方案是检查 HTTP 响应标头并使用 ActionScript 提取“Location”标头的值。考虑使用 AS3 HTTP 客户端库。
从示例页面 http://code.google.com/p/as3httpclientlib/wiki/示例 要从响应中确定“位置”标头:
注意:AS3 HTTP 客户端依赖于 AS3 Core 和 AS3 Crypto 库。
One solution would be to include a token inside a comment block on the returned page, for instance:
then check for it's presence inside the HTTPService result handler. The token's value could then be used in your call to navigateToURL.
Another solution would be to examine the HTTP response headers and extract the value of the "Location" header using ActionScript. Consider using the AS3 HTTP Client lib.
From the examples page http://code.google.com/p/as3httpclientlib/wiki/Examples To determine the 'Location' header from the response:
NOTE: AS3 HTTP Client depends on AS3 Core and AS3 Crypto libs.
您也可以简单地使用 URLLoader 类,无需外部代码。它调度的事件之一是
HTTPStatusEvent.HTTP_RESPONSE_STATUS
。只需插入该代码并检索重定向的网址即可:我现在(成功)使用此代码,因此如果由于某种原因它不起作用,请告诉我。
You can also simply use the URLLoader class, no need for external code. One of the events it dispatches is
HTTPStatusEvent.HTTP_RESPONSE_STATUS
. Just plug into that and retrieve the redirected url:I am (successfully) using this code right now, so if it doesn't work for some reason, let me know.