目前,我有一個銷售小部件的MVC Web應用程序。用戶使用表單身份驗證登錄到我們的系統,然後可以根據他們所屬的組執行各種功能(即下訂單,查看訂單,取消訂單等)。.NET WebApi身份驗證
我們的任務是編寫一個Api,使第三方能夠在我們的系統中創建和查看訂單。每個第三方都將擁有自己的用戶名,並且僅限於基於所屬組的某些API方法。
我們正在研究使用Web API作爲提供api的機制。我們還希望能夠從我們的MVC Web應用程序中使用此API。不幸的是,我們遇到了有關Web Api驗證的問題。使用DelegatingHandler,我們已經通過SSL爲我們的WebApi實現了基本認證。這對我們的第三方非常有用。但是,當試圖從我們的MVC應用程序中使用Api時,我們得到401訪問被拒絕的錯誤,因爲用戶使用Forms身份驗證在MVC應用程序中進行了身份驗證,但是我們無法將這些憑據傳遞到Web Api。有沒有辦法將Forms Auth憑證從我們的MVC應用程序傳遞到我們的Web api應用程序?
IIS安裝 網頁命名WidgetStore有兩個Web應用程序
- WidgetStore \ UI -uses窗體身份驗證
- WidgetStore \ API - 使用基本身份驗證
爲了解決您的表單/基本身份驗證問題,我建議您閱讀Dominick Baier的這篇精彩文章:[Forms/Basic auth claims transformation](http://leastprivilege.com/2012/10/24/擴展到Web-apimvc-formsbasic-auth-sample-claims-transformation-and-ajax /) – Swell