有人问了同样的问题here,但对我来说这不是一个解决方案,我已经尝试了16个多小时。
我使用VS2013(Windows Server 2012 R2)为我的MVC5(ASP.Net Fw4.5)应用程序设置了Windows身份验证,这是我设置的主要步骤。
Web.Config如下
<authentication mode="Windows" />
<authorization>
<allow users="?" />
</authorization>
<identity impersonate="false" />
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
<providers>
<clear />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<validation validateIntegratedModeConfiguration="false" />
IIS设置
使用这些配置,我的应用程序可以在IISExpress上完美运行,但是当我通过IIS访问它时,在给出正确的用户名/密码后,它会提示您输入登录名/密码,并且它会不断重复。 (我可以在没有Authorize属性的情况下访问About Controller)
我通过Fiddler检查了请求,该请求带来了一些有趣的东西。以下是我通过IIS访问时的响应
当我通过IISExpress访问时,我可以看到单个请求有三个条目,其中两个获得401,而第三个获得200