我需要你的帮助。
我使用.NET Web API开发了一些REST服务。
这些服务必须使用用户名和密码验证客户端。
我在互联网上找到的解决方案是“基本身份验证”。
大问题是我不能使用SSL来保证通信安全。我没有HTTPS。
使用不带SSL的基本身份验证不是一个好的解决方案。
我无法在互联网上搜索找到可以使用用户名和密码通过http验证客户端的解决方案。
请你能帮帮我吗?
总结我需要使用用户名和密码在Web.API中验证用户身份。我不能使用SSL。我的通讯是在HTTP上。
感谢!!!
答案 0 :(得分:0)
您可以使用ASP.NET成员资格提供程序:
http://msdn.microsoft.com/en-us/library/yh26yfzy(v=vs.100).aspx
答案 1 :(得分:0)
我知道的唯一其他常用的用户名+密码身份验证方法是digest access authentication。有一个博客here显示了WebApi的示例。
这将为您提供一些保护而不使用SSL,因为它使用哈希值;但是,在完全阅读并理解所有此方法的disadvantages之前,我不会真正提倡它。
答案 2 :(得分:0)
基本上 - 你做不到。
当然,有一种方案不会通过网络以明文形式传输凭据 - 但它不仅仅 有关凭据。所有的数据都是通过电汇进行清理,你没有服务器认证,没有机密性,没有完整性保护,没有重播保护等......
如果您不关心所有这些功能 - 为什么还要担心(安全)身份验证呢?
答案 3 :(得分:0)
没有SSL,基本不安全,但由于中间人攻击,摘要也不安全。我建议你使用一些基于公钥/私钥的方法,如HMAC或加密,就像paul所说的hash + salt。