我使用Visual Studio 2013和Owin Middleware提供的默认访问控制创建了一个新的ASP.NET MVC 5应用程序。
我在IIS上启用了基本身份验证(禁用所有其他身份验证),以保护网站免受那些没有我在Windows上创建的用户/密码的人的攻击。它导致浏览器中的“#34;重定向循环”。
任何想法为什么?如何在不更改代码的情况下保护网站?
答案 0 :(得分:6)
默认情况下,文件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中间件并自己进行基本身份验证。
这些链接可能会有所帮助: