我们遇到内联网中的Web应用程序需要Windows身份验证的情况。这样,公司的员工可以登录到他们的桌面并自动访问Web应用程序,并且无需登录即可自动识别,因为Windowns身份验证可以解决这个问题。
问题是我们已经在Web应用程序中添加了Flex模块。 Web应用程序正常运行并验证用户可以导航到我们拥有Flex应用程序的页面。哪个加载好。问题是Flex应用程序还需要与该用户的同一服务器进行通信,但此通信不起作用并提示用户输入密码。即使输入了正确的用户/密码,它也会失败,Flex应用程序无法与需要Windows身份验证的服务器通信。
我们的期望是,自从安装了Flex应用程序的IE浏览器已经过身份验证后,来自Flex应用程序的所有通信都会携带必要的信息,以使其无需身份验证即可访问服务器。不知道为什么这不起作用。任何帮助都非常感激。
答案 0 :(得分:2)
我过去处理此问题的方法是创建一个程序集,该程序集将放在Intranet的bin文件夹中,该文件夹将登录用户的信息传递回Flex应用程序。没有必要重新进行身份验证,因为他们已经登录到域。
然后,您可以使用FluorineFX(documentation)调用该程序集,以便Flex与.NET通信。 (对于它的价值,我也使用Mate framework。)调用您的程序集,并将登录用户的信息传回Flex。
通常我会在启动应用程序的其余部分之前进行此调用并验证是否有登录用户。这种情况下,如果有人试图抓住swf并在域外使用它,它将无法正常工作。
我希望这有帮助!
答案 1 :(得分:1)
使用WebORB,如果您使用.Net和Flex一起为自己节省了大量的时间和头痛,让WebORB将这两个部分捆绑在一起。它通过身份验证为您处理Windows路径。他们的社区版是免费的,应该符合您的需求。