2016-03-03 50 views
0

我正在使用的項目使用C#WebAPI 2,並且用於對所有內容使用Windows Active Directory身份驗證。我們正嘗試使用AuthorizationFilterAttribute轉換到基本身份驗證,但IIS Express使這非常困難。最初的任何請求與基本身份驗證與獲得401.2響應,因爲基本身份驗證未啓用。爲了解決這個問題我補充說:IIS Express停止所有基本身份驗證

<basicAuthentication enabled="false" /> 

對ApplicationHost.config。現在,所有使用基本身份驗證標頭的請求都會得到401.1錯誤,就像IIS Express嘗試自行驗證請求一樣,而不會通過該屬性。

我創建了一個空白的項目,並嘗試相同的設置,它工作正常!我比較了applicationhost.config,web.configGlobal.asax.cs這兩個項目,一切看起來都是一樣的。所以我無法弄清楚爲什麼IIS Express不能與最初的項目合作。

我應該看看其他文件/配置設置以解決問題嗎?

+0

啓用基本身份驗證的IIS Express當然會使用自己的模塊來執行基本身份驗證。你爲什麼認爲應該通過你的代碼? –

回答

1

您可能需要查看App_Start/Startup.Auth.cs。如果它使用OWIN,則需要將基本驗證模塊添加到管道。

0

您是否檢查了身份驗證模式以確保它未設置爲「Windows」?

<authentication mode="Forms">