我创建了一个MVC 4,.Net 4.5网站,以便使用Forms身份验证,因此选择了该模板。然后更改了摘要,我需要交换使用Windows身份验证。这将推出到带有IIS8的Windows Server 2008盒子上。
我不能为我的生活转身关闭表格认证。通过NTLM成功通过身份验证后,MVC会尝试将我带到表单登录页面。我试过了:
<authentication mode="Windows" >
AuthConfig.RegisterAuth();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
”和“Application_Start()
”
HttpResponse.SuppressFormsAuthenticationRedirect
Application_EndRequest.
这些都不起作用。唯一可怕的软糖(来自同一个stackoverflow帖子)是改变web.config中的下面 - 这有一些时髦的副作用(例如,应用程序不应该在导航时弹回Home):< / p>
<authentication mode="Windows" >
<!--<forms loginUrl="~/Account/Login" timeout="2880" />-->
<forms loginUrl="~/Home" timeout="2880" />
</authentication>
我觉得我错过了一些非常明显的(可能是与过滤器相关的)更改,我需要进行更改以禁用和从项目中删除表单auth。任何人都可以建议我需要采取永久删除的步骤吗?
答案 0 :(得分:6)
ASP.NET MVC3 and Windows Auth on IIS keeps redirecting to /Account/Login
检查您是否有WebMatrix.Data.dll和/或WebMatrix.WebData.dll 部署在应用程序的bin目录中。如果他们在那里 (而且你知道你不使用它们)然后尝试删除它们并访问 需要身份验证的页面。
我将项目中的引用删除到WebMatrix,从本地bin和远程bin中删除它们,并且意外行为已停止。