2013-02-05 40 views
1

我需要您的幫助。.NET Web API。在不使用基本身份驗證的情況下使用用戶名和密碼驗證客戶端

我使用.NET Web API開發了一些REST服務。

這些服務隊必須用用戶名和密碼進行身份驗證的客戶端。

我在網上找到的解決方案是「基本身份驗證」。

最大的問題是,我不能使用SSL進行安全的交際。我沒有HTTPS。

使用不使用SSL的基本身份驗證不是一個好的解決方案。

我不能在互聯網上能搜索,找出可以使用用戶名和密碼通過HTTP認證客戶端的解決方案。

請幫助我嗎?

總結,我需要使用用戶名和密碼來驗證在Web.API用戶。我無法使用SSL。我的通信是在HTTP上。

謝謝!

+0

您可以使用HMAC身份驗證,請在此處查看:http://stackoverflow.com/questions/11775594/how-to-secure-an-asp-net-web-api/11782361#11782361 –

回答

0

唯一的其他常見的方法,我知道的是digest access authentication。有一個博客here顯示WebApi的示例。

,因爲它使用哈希這會給你一些保護沒有SSL;然而,我不會真正主張它,直到全部這個方法的disadvantages一個完全閱讀和理解。

0

基本上 - 你不能那樣做。

肯定有不以明文形式在電匯憑證方案 - 但它不是唯一的的憑據。所有的數據都以明文的電線,以及,你沒有服務器,沒有保密性,完整性無保護,無重放保護等認證......

如果你不關心所有這些功能 - 爲什麼打擾(安全)身份驗證?

+0

我不同意這個答案。有很好的證明方法與SSL一樣不安全,以便在不使用SSL的情況下加密部分消息。 – Rafa

0

沒有SSL,基本不安全,但由於中間人攻擊,摘要也不安全。我建議你使用一些基於公鑰/私鑰的方法,比如HMAC或者加密,就像保羅用hash + salt所說的那樣。

相關問題