5
我使用Visual Studio 2013和Owin Middleware提供的默認訪問控制創建了一個新的ASP.NET MVC 5應用程序。OWIN身份驗證與IIS基本身份驗證
我啓用了IIS上的基本身份驗證(禁用所有其他身份驗證),以保護沒有我在Windows上創建的用戶/密碼的用戶的網站。這導致在瀏覽器中的「重定向循環」。
爲什麼呢?我怎樣才能保護網站,無需更改代碼的任何想法?
我使用Visual Studio 2013和Owin Middleware提供的默認訪問控制創建了一個新的ASP.NET MVC 5應用程序。OWIN身份驗證與IIS基本身份驗證
我啓用了IIS上的基本身份驗證(禁用所有其他身份驗證),以保護沒有我在Windows上創建的用戶/密碼的用戶的網站。這導致在瀏覽器中的「重定向循環」。
爲什麼呢?我怎樣才能保護網站,無需更改代碼的任何想法?
默認文件Startup.Auth.cs,會有一些像這樣:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Main/Account/Login"),
CookieName = "OwinAuthCookie",
});
當啓用了基本身份驗證在IIS中,這裏發生了什麼:
HTTP 401 Response
。401 (Unauthorized) Response
,所以它重定向到配置的LoginPath
。你可以做的是註釋掉上面代碼中的LoginPath屬性。這應該停止重定向循環,但也可以(但不必根據您的實現)中斷應用程序用戶的身份驗證。
我最終得到的結果是實現一個小的Owin中間件,並自己進行基本認證。
這些鏈接可能會有所幫助:
我這樣做了。我創建了一個頁面來授權用戶並禁用基本認證。 – Fabio