我試圖對由另一個MVC網站訪問的MVC的Web API配置身份驗證。我已經在web.config中嘗試了很多東西,來自SO的許多建議。然而一切都無濟於事。如何使用MVC Web API進行身份驗證?
我使用下面的代碼從MVC網站:
var web = new WebClient();
web.UseDefaultCredentials = false;
web.Credentials = new NetworkCredential(username, password);
我然後使用該Web客戶端來調用僅包含API控制器其他MVC網站的方法。如果沒有身份驗證,所有工作都應該如此,但我無法使身份驗證正常工作提出請求時,我得到的是返回了401的異常(這是一件好事,如果你問我,但它不會出現發送憑據)。
我也試圖把用戶名和密碼的網址,但沒有任何工作。
這裏是Web API站點的web.config文件中的相關章節:
<authentication>
<forms
cookieless="UseUri"
enableCrossAppRedirects="false">
<credentials passwordFormat="Clear">
<user name="site" password="XYZ123!"/>
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
我想提出一個用戶名/密碼,那裏只是爲了確保它是調用網站方法。我的API控制器具有「Authorize」屬性。
我的問題是:我如何添加認證到Web API的網站,這樣我可以使用的身份驗證就可以調用方法?