我正在.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标头中使用流凭证的唯一解决方案吗?
谢谢,
卡尔·T。
最佳答案
您可以使用授权元素向您的web.config添加一个location元素,该元素允许匿名用户访问该Web服务,从而有效地绕过该服务的表单安全性。然后,可以使您的硬编码字符串作为方法的另一个参数被接受。有关更多信息,请参见location Element (ASP.NET Settings Schema)。
您提到了硬编码的字符串,因此我以为您希望将其传递给方法并以无会话方式运行。让本文看起来.NET Web Services Security。第3页是您最感兴趣的部分。
理想情况下,您应该使用WCF更新到.NET 3.5或更高版本,但是除非这些是您的最佳选择,否则请放心。