如何在 ASP.NET 中正确激活 Windows 身份验证提示?

How can I properly activate Windows authentication prompt in ASP.NET?

我有一个 ASP.NET 站点应该使用 Windows 身份验证。我修改了 web.config 以包含以下代码:

<system.web>
    <authentication mode="Windows" />
    <authorization>
        <allow roles="domain\application users"/>
        <deny roles="domain\domain users" />
    </authorization>
</system.web>

我已经能够在另一个 ASP.NET 应用程序中使用完全相同的代码。但是,此应用程序甚至不提示输入凭据,并允许所有用户在 Visual Studio 中使用 IIS Express 进行调试;就像 Windows 身份验证实际上并没有注册。

我在代码隐藏中使用了 HttpContext.Current.User.Identity.IsAuthenticated 来确保我的假设是正确的,它 return 是错误的。

我不确定 Windows 身份验证是否适用于已发布的版本,因为我不想在它未按预期工作时部署它。

我可能在这里遗漏了什么?我的代码有问题还是我需要做些什么才能正确配置 IIS?

我最终偶然发现了另一个问题 (Windows Authentication not working in existing asp.net site),它帮助了我 - 我正确地配置了我的网站,但在创建项目后决定添加 Windows 身份验证,这意味着它不是'没有在解决方案属性中正确配置。在开发服务器属性中将 Windows 身份验证更改为启用并将匿名身份验证更改为禁用解决了我的问题。