Asp.net 在这种情况下,我应该为我的web服务使用什么身份验证?

Asp.net 在这种情况下,我应该为我的web服务使用什么身份验证?,asp.net,web-services,authentication,Asp.net,Web Services,Authentication,嗨,我要做一个网络服务。现在,我们的客户将能够从他们的接口调用该方法。我一直在想我应该做什么认证,我一直在阅读,不能真正决定。我想将用户名和密码传递给该方法 你有什么建议吗 常见的身份验证方案定义良好,虽然不完善,但都是已知的实体。你能做的最糟糕的事情就是在安全方面“自己滚” 我假设您的评论“将用户名和密码传递给该方法”,您的意思是希望能够访问用于访问web服务的凭据。这很好,但不要将凭据作为参数传递给方法 根据您的描述,SSL上的基本身份验证应该为您的应用程序提供足够的保护。这将在不受信任的环

嗨,我要做一个网络服务。现在,我们的客户将能够从他们的接口调用该方法。我一直在想我应该做什么认证,我一直在阅读,不能真正决定。我想将用户名和密码传递给该方法


你有什么建议吗

常见的身份验证方案定义良好,虽然不完善,但都是已知的实体。你能做的最糟糕的事情就是在安全方面“自己滚”

我假设您的评论“将用户名和密码传递给该方法”,您的意思是希望能够访问用于访问web服务的凭据。这很好,但不要将凭据作为参数传递给方法


根据您的描述,SSL上的基本身份验证应该为您的应用程序提供足够的保护。这将在不受信任的环境中工作(即跨未知网络),并且应该很容易在客户端实现。

那么,使用SSL证书进行基本身份验证,而不是将凭据传递给方法?为什么不向方法传递凭据?感谢您的回答:将凭据复制到该方法会导致在消息体(如果是帖子)中或作为URL本身的参数(如果是GET)中显示凭据。在这两种情况下,信息都是以清晰而糟糕的形式发送的。基本身份验证至少可以为您提供某种级别的编码(请注意,不是加密),并将凭据嵌入到请求的头中。好的,但我必须找出请求web服务的用户,以便为每个用户返回正确的信息。传递一个guid/加密的传递,然后我对所有用户执行一个针对每个用户的传递,以找到正确的匹配项,并通过这种方式获得正确的信息,这是否是一个好主意?取决于您的实现。我从您的标记中假设这是在asp.net中构建的。你有3个选择:ASMX(传统),WCF,或者你自己滚(不要这样做。)我的建议:使用WCF。ASMX将“更容易”理解,但WCF是你应该花时间的地方。阅读WCF中的“传输身份验证”。这应该让你开始。