我需要构建一个简单的Web服务,通过Internet将数据输入和输出HR系统(这是一个托管解决方案).我正在使用IIS和ASP.Net与.Net 2.0.
看了之后,有几种方法可以确保网络服务的安全 - 我正在考虑选择哪种方法,并对一些优缺点进行一些观察.
这些是我所知道的方法:
将UID/PWD发布到Soap头中并实现SOAP扩展(链接).
非常简单的实现,并且应该通过SSL非常安全.由于相对简单,这是我的首选方案.此外,由于历史原因,我需要使用VBScript中的所有Web服务,因此只需处理简单的SOAP即可.
但是,有什么警告吗?我是否会让客户抱怨这是一种安全隐患?
我发现很多旧文章指的是WS,如果我没有被误解,这就是现在在WCF中提供的内容?这个Microsoft链接有一个入门.
如果我理解正确,它会在客户端和服务器之间使用基于证书的安全性进行身份验证.这是正确的还是我完全错了?
我怀疑这将是一项更大的工作,至少在实施方面是明智的.此外,我将无法直接从VBScript访问Webservice,因此必须编写一个调用它的DLL然后在本地部署 - 正确吗?
这甚至可以在.Net 2.0中使用吗?
我可以禁止匿名访问asmx文件,并使用依赖IIS通过质询/响应进行身份验证.这在我的场景中实际上是实用的,但感觉非常不优雅(并且不知道如何从VBScript中完成这项工作).
将UID传递给方法调用是SoapHeader的一个不好的表兄,所以我不会使用它.
对于解决这个问题的最佳方法,我将非常感激.如果有人有一个很好的论据,为什么Soap Headers是安全的,那么我很乐意听到它,因为这似乎是最简单的使用,只要它"足够安全".