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