网站在本地工作,但在部署到 IIS8 时出现 401.2 错误

Website works locally but give 401.2 error when deployed to IIS8

有一个遗留应用程序在 IIS6 Windows 2003 服务器上 运行 运行良好。使用 IIS 8.5 重新部署到 Windows 2012 服务器,现在所有请求都会出现 HTTP 401.2 错误。

该站点被分配给它自己的应用程序池,它是一个使用本地网络服务帐户作为身份的 .net4 Classic。该站点设置为启用表单身份验证,所有其他站点均已禁用。

本地网络服务帐户可以访问 wwwroot 目录。

当 运行 在我的本地开发电脑上处于调试模式时,部署的代码工作正常。

我不知道如何排查和解决这个问题。

注意:尽管该应用程序使用 Forms 身份验证,但它确实会获取登录用户的凭据以检查用户是否存在于 aspnet 表中。它使用 Request.ServerVariables("LOGON_USER").split("\")(1).ToUpper()

获取凭据

找到了这个问题的答案...Get Windows logged-in Username ASP .net

尽管 IIS 8 发出警告,指出无法同时启用表单和 Windows 身份验证,但网站仍按预期工作。