从Flex 3安全地访问.NET Web服务

3

我们可以成功地从Flex/AS3应用程序中调用.NET 2.0 Web服务。除了SSL之外,我们如何使安全性更加强大(即身份验证)?

5个回答

2

您可以通过在Web方法上使用

<EnableSession()>

来利用ASP.Net内置的会话管理。然后,在方法内部,您可以检查用户是否仍具有有效的会话。


0
如果您正在使用微软技术,您可以构建一个小的Asp.Net/C#应用程序,在重定向到正确的swf之前要求凭据。
这样,您就可以限制访问并根据用户不同提供不同的swf文件。

0
考虑使用WebOrb与您的服务通信。这里有一些关于WebOrb认证机制的信息。此外,Adobe开发者网站上也有一篇关于使用WebOrb和.Net进行身份验证的文章

0

你应该能够轻松地使用asp.net的身份验证(例如表单身份验证)。保护asmx文件就像保护aspx文件一样简单。关于表单身份验证有大量的信息可供参考,只需搜索“asp.net表单身份验证”即可。


这不太对。由于Flex/Flash SWF文件是下载到客户端计算机上的,因此很容易对它们进行反编译... - ALOToverflow
@Frank - 如果你在你的动作脚本中保存用户名/密码,那么你需要解决的问题比担心有人反编译你的swf文件更大。 - Jeff Schumacher
有方法可以在授予对swf访问权限之前验证用户凭据。 - ALOToverflow

0
如果你在谈论通过网络传输的信息的安全性,你可以使用Web服务扩展(WSE)来加密SOAP消息的主体,这样你就不需要保护通道。这样一来,消息可以从多个终点传递(即可以转发),而且你不需要多个https证书。
如果你在谈论身份验证,那么你可以使用表单身份验证,在请求体中或者SOAP头部中包含密码(同样可以加密请求体或通道)。或者,如果是内部一组服务,最简单的方式之一是让IIS来处理,打开NTLM并在那里进行身份验证。你可以在后续的流水线中使用HTTPModule进行授权,检查人们的凭据是否与他们尝试调用的代码相匹配。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接