0

我在运行 IIS 的 Windows 服务器上托管了一个 flex 应用程序。同一台服务器有一些应用程序与之交互的休息服务。其余服务具有 Windows 身份验证,因此在没有凭据的情况下无法调用它们的 url。flex 应用程序需要可供公众访问,以便通过启用匿名访问来访问其文件。问题当然是当应用程序尝试调用其余服务时,浏览器会弹出一个对话框,要求输入 Windows 用户名并通过。我天真地希望,如果我在 flex 站点上设置匿名访问,以使用有权查看其他服务的 Windows 帐户的凭据,从而解决问题。我希望 IIS 会看到浏览器使用正确的凭据来查看 flex 应用程序并使用相同的凭据来获取其余服务。错了,没用。

那么我想要的不可能吗?我想找到一种方法,不强迫用户输入 Windows 凭据,使用 Windows 身份验证保留其余服务,并让 flex 应用程序能够访问其余 url。有任何想法吗?我错过了什么吗?此外,可能会发现 flex 应用程序在 http 上运行,而其余服务必须使用 https 调用。这会改变你的答案吗?任何想法都非常感谢。

4

2 回答 2

0

Flex 在客户端机器上运行,因此对服务的任何调用都将来自那里。您可以做的是设置第二个 Web 服务,它以 Windows 用户名在同一台服务器上运行并调用第一个。

于 2011-03-09T21:06:21.200 回答
0

请记住,flex 应用程序实际上是在用户本地计算机上运行的。出于这个原因,所有呼叫都将从他们的机器进行,因此您需要为应用程序设置某种身份验证来处理呼叫。

如果您想了解一种来回传递信息的好方法,请查找有关使用“services-config.xml”的教程并从那里开始。您会发现很多关于身份验证、传递信息和使用远程对象的替代方法的材料。

希望这可以帮助...

于 2011-03-09T21:16:57.920 回答