Web Services web.config混合身份验证模式

时间:2011-12-22 15:24:28

标签: c# java asp.net web-services security

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

目标应用程序服务器是IIS 5.0,它配置为使用有效证书在https上工作,因此从技术上讲,我想要的是用于验证某些硬编码字符串的Web服务,以确保调用它们的系统因为它们操作而已知敏感数据。由于它通过安全通道,我不希望对此Web服务身份验证使用任何花哨的加密。作为旁注,使用Web服务的预期系统是Java,而不是.NET

我真正想要的是在Visual Studio的同一解决方案中实现这一目标的最佳方式。我不希望Web服务成为一个独立的项目。 (要求)

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

谢谢,

Carl T。

1 个答案:

答案 0 :(得分:1)

您可以使用授权元素向web.config添加位置元素,该元素允许匿名用户访问Web服务,从而有效地绕过服务的表单安全性。然后,您可以将您的硬编码字符串作为方法的另一个参数接受。有关详细信息,请参阅location Element (ASP.NET Settings Schema)

您提到了硬编码字符串,因此我假设您希望将其传递给方法并运行无会话。给这篇文章看一下.NET Web Services Security。您最感兴趣的部分是第3页。

理想情况下,您应该使用WCF更新到.NET 3.5或更高版本,但禁止这些是您最好的选择。