2012-03-22 64 views
11

可能重複:
Cross platform authentication using ASP.NET Web API認證用的ASP.NET Web API

我想創建一個新的Visual Studio 11 Beta測試階段的asp.net網頁API。這個web api將需要被不同的網站,桌面應用程序和移動應用程序訪問。對我的web api執行認證/授權的最佳方式是什麼?我需要確保所有調用API的應用程序都經過身份驗證。有沒有一種簡單的方法來做到這一點與新的web API?

+0

@DarrelMiller那是不正確的。幾周前發佈的WebAPI Beta在VS 11 Beta上運行。 – marcind 2012-03-23 06:45:03

+0

@marcind哎呀,我無法跟蹤。抱歉。 – 2012-03-23 13:11:39

回答

14

我已經通過使用消息處理程序來檢查請求中的auth頭並設置身份,以便[Authorize]屬性可以做到這一點。

我寫了一個blog post關於這個問題..

+0

謝謝安東尼!您在博客文章中提供的解決方案看起來像可能適用於我正在做的事情。你能否提供更多的代碼來實際展示你的web api在一個例子中如何使用你的BasicAuthenticationMessageHandler類?這對我來說是一個很大的幫助,因爲我對整個web api模型以及網站將如何使用它有所幫助。謝謝。 – MattMerrill 2012-03-27 16:23:18

+1

我已經更新了我的博客文章,詳細介紹瞭如何連接消息處理程序,除此之外,當您說您需要示例時,我不確定您的意思。你的意思是在控制器代碼的上下文中嗎?因爲我的博客文章中已經有框架方法。 – 2012-03-27 19:18:27