我们希望获得一堆ASP.Net 2.0 .asmx Web服务.将托管Web服务的表已经过身份验证.
是否可以使用表单身份验证来保护Web服务?有什么利弊和其他可能的方法来实现这一目标.我们当然不希望在每个Web方法调用中传递用户名/密码或令牌.
具有表单身份验证的东西是它为人们设计的,其中Web服务被设计为由客户端应用程序使用.虽然可以像这样进行身份验证,但这是错误的思考方式.
所需的安全级别显然取决于您正在使用的数据的敏感性,但我将假设它至少有些敏感(但比银行交易少).您也许可以使用SSL并传递用户名和密码作为jle建议,当我输入时,或者您可能需要一个api密钥,就像flickr一样.
另一个更安全的选择是只传递一次用户名和密码(并且具有ssl的安全性),并且提供一段有效一段时间的令牌.这有利于保护密码信息,并避免ssl的持续开销.
如上所述,它在很大程度上取决于您尝试保护信息的敏感程度.