2013-01-11 51 views
2

所以我試圖保護一個ASP.NET Web API服務,以便iOS(iPhone 4/5)應用程序可以使用他們的Windows用戶名和密碼REST風格地訪問它(don'請問:)),並且我遵循這個article here,並且大部分它工作正常,我只是稍微修改它以使用Active Directory服務來驗證用戶名和密碼,但我想知道是否有更好的方法來保護將從非瀏覽器客戶端以及瀏覽器使用的ASP.NET Web API?iOS的安全ASP.NET Web API Consumtion

這是與IIS7託管,所以我應該讓IIS控制身份驗證?

需要一些指導...謝謝

回答

2

這是一個有點不清楚你正在尋找具體是什麼,以我的經驗假設我對認證服務器的密鑰是

  • 認沽訪問https後面的API
  • 通過POST發送請求。

如果您還在編碼iOS端,請確保您正在實施正確驗證的驗證。這裏有一篇關於iOS的文章:http://mobiledevelopertips.com/networking/handling-url-authentication-challenges-accessing-password-protected-servers.html

+1

我不能強調在這裏使用HTTPS的重要性。 BasicAuth在Base64中對用戶的憑證進行編碼並將其附加到每個請求中。這意味着任何觀看網絡的人都可以輕鬆地恢復他們的AD憑證。 –

+1

@RobNapier - 當然我會使用SSL/TLS。您認爲使用SSL足夠安全嗎?我的意思是我們相信我們的信用卡#和個人信息通過SSL,所以爲什麼我的AD帳戶不正確? – Sam

+0

最好使用令牌(例如通過Kerberos)或質詢 - 響應系統進行身份驗證(例如NTLMv2),以便您不必混淆發送原始憑據,但使用正確配置的HTTPS(包括證書驗證)非常好。原始憑證仍然有點危險的一個原因是Web服務器的管理員可以訪問後SSL流量。使用挑戰 - 響應系統,不會將密碼泄露給他。所以我不喜歡BasicAuth,但可以通過HTTPS使其成爲「OK」。 –