2011-12-22 60 views
0

我正在.NET 2.0上开发Visual Studio 2005中的Web应用程序项目,Web应用程序项目明显确保了网页和Web服务的安全。我也想保护Web服务。目前web.config中的身份验证模式已设置为表单,并且我为此创建了自己的成员资格提供程序。Web Services web.config混合身份验证模式

目标应用程序服务器是IIS 5.0,它被配置为使用有效证书通过https工作,所以从技术上讲,我所需要的只是Web服务来验证某些硬编码的字符串,以确保调用它们的系统是已知的,因为它们操纵敏感数据。由于其通过安全通道,因此我不希望为此Web服务身份验证使用任何高级加密。作为一个侧面说明,预期的系统使用的Web服务是在Java中,而不是在.NET中。我真正想要的是我在Visual Studio的相同解决方案中实现这一目标的最佳方式。我不希望Web服务成为一个单独的项目。 (要求)

是在SOAP头中使用流凭证的唯一解决方案吗?

感谢,

卡尔·

回答

1

您可以配置要素添加到您的web.config与授权元素允许匿名用户访问Web服务,有效地绕过该服务的形式安全。然后你可以让你的硬编码字符串被接受为你的方法的另一个参数。有关更多信息,请参阅location Element (ASP.NET Settings Schema)

你提到了硬编码的字符串,所以我认为你正在寻找将它传递给方法并运行无会话。给这篇文章看看.NET Web Services Security。您最感兴趣的部分在第3页。

理想情况下,您应该看看使用WCF更新到.NET 3.5或更高版本,但不要禁止这些是您的最佳投注。

+0

我不相信在每个方法调用中添加硬编码字符串作为参数是一种很好的做法。我希望能够在更高级别处理安全性以避免重复代码,但也许这只是没有明显原因的矫枉过正 – Stainedart 2011-12-23 15:46:34

+0

@CarlT。我已根据您的评论更新了新信息的答案。 – JamieSee 2011-12-28 17:56:50