我们可以从 Flex/AS3 应用程序成功使用 .NET 2.0 Web 服务。除了 SSL,我们还能如何使安全性更健壮(即身份验证)?
5 回答
你可以利用 ASP.Net 的内置会话管理来装饰你的 webmethods
<EnableSession()>
然后,在您的方法中,您可以检查用户是否仍然具有有效会话。
您应该能够使用 asp.net 的身份验证(例如表单身份验证)而无需付出太多额外的努力。保护 asmx 文件就像保护 aspx 文件一样。那里有大量关于表单身份验证的信息,只需搜索“asp.net forms authentication”
如果您正在谈论保护通过线路传输的信息,您可以使用 Web 服务扩展 (WSE) 来加密 soap 消息的正文,这样您就不必保护通道。这样,消息可以从多个端点传递(即可以转发),并且您不需要多个 https 证书。
如果您正在谈论autentication,那么您可以使用正文或soap标头中的密码进行表单身份验证(再次加密正文或通道)。或者,保护 web 服务(如果它是一组内部服务)的最简单方法之一是让 IIS 执行此操作,打开 NTLM 并在那里进行身份验证。您可以稍后在管道中使用 HTTPModule 进行授权,该模块根据他们尝试调用的代码检查人们的凭据。
考虑使用 WebOrb 与您的服务进行通信。这是有关WebOrb 身份验证机制的一些信息。Adobe 的开发者网站上还有一篇关于使用 WebOrb 和 .Net 进行身份验证的文章。
如果您使用 Microsoft 技术,您可以构建一个小的 Asp.Net/C# 应用程序,该应用程序会在重定向到正确的 swf 之前要求提供凭据。
这样,您可以限制访问并根据用户使用不同的 swf 文件。