1

我需要你的帮助。

我使用 .NET Web API 开发了一些 REST 服务。

这些服务必须使用用户名和密码对客户端进行身份验证。

我在 Internet 上找到的解决方案是“基本身份验证”。

最大的问题是我不能使用 SSL 来保护通信。我没有HTTPS。

使用没有 SSL 的基本身份验证不是一个好的解决方案。

我无法在 Internet 上搜索找到可以使用用户名和密码通过 http 对客户端进行身份验证的解决方案。

请问你能帮我吗?

总结一下,我需要使用用户名和密码在 Web.API 中对用户进行身份验证。我不能使用 SSL。我的通讯是在 HTTP 上。

谢谢!!!

4

4 回答 4

0

您可以使用 ASP.NET 成员资格提供程序:

http://msdn.microsoft.com/en-us/library/yh26yfzy(v=vs.100).aspx

于 2013-02-05T14:37:42.240 回答
0

基本上 - 你不能那样做。

当然,有些方案不会通过线路以明文形式传输凭据 - 但它不仅与凭据有关。所有的数据都以明文形式通过网络传输,您没有服务器的身份验证、没有机密性、没有完整性保护、没有重放保护等……</p>

如果您不关心所有这些功能 - 为什么要使用(安全)身份验证呢?

于 2013-02-05T14:54:15.560 回答
0

没有 SSL,基本不安全,但由于中间人攻击,摘要也不安全。我建议您使用一些基于公钥/私钥的方法,例如 HMAC 或像保罗所说的使用哈希 + 盐进行加密。

于 2014-02-17T14:05:42.433 回答
0

我知道的用户名+密码身份验证的唯一其他常见方法是摘要访问身份验证这里有一个博客展示了 WebApi 的示例。

这将在没有 SSL 的情况下为您提供一些保护,因为它使用哈希;但是,在完全阅读和理解这种方法的所有缺点之前,我不会真正提倡它。

于 2013-02-05T14:43:24.793 回答