2
解决IIS 7.5中的Windows身份验证问题(没有挑战)?
我知道有成千上万的报告表明人们无法使集成Windows身份验证与IIS一起使用,但是它们似乎都导致无法应用的网页或我已经尝试过的解决方案。之前我已经部署了数十个这样的站点,因此服务器/配置发生了一些奇怪的事情,或者我已经看了太久而没有发现明显的问题。 简而言之,一切都可以在我的本地计算机上完美地运行,但是在生产服务器上却分崩离析,据我所知,它具有完全相同的配置。 在本地计算机上: 该计算机正在运行Windows 7 Ultimate,Service Pack 1,IIS 7.5。 已使用IIS和VS Web开发服务器成功测试了该站点。 IIS站点配置禁用了除 Windows身份验证以外的所有身份验证方法。 本地计算机不在任何域上。 提供程序设置为“协商”和“ NTLM”(不是“协商:Kerberos”)。 扩展保护关闭。 经过测试的所有浏览器(IE,Firefox,Chrome)都显示质询提示,并允许我使用我的(本地)Windows帐户登录到localhost域。 所有经过测试的浏览器也都使用不透明的本地IP地址工作-因此,浏览器本身似乎并不在乎该站点是“本地”还是“远程”。 我在网页上添加了一条显示行,该行显示了当前登录的用户,并准确显示了我所期望的状态(无论使用哪个本地用户登录)。 在远程计算机上: 该服务器正在运行Windows Server 2008 R2,IIS 7.5。 加载网页会导致立即出现 401.2错误:由于身份验证标头无效,因此您无权查看此页面。 从未出现挑战提示。 IIS站点配置禁用了除 Windows身份验证以外的所有身份验证方法。 远程计算机不在任何域上。 提供程序设置为“协商”和“ NTLM”(不是“协商:Kerberos”)。 扩展保护关闭。 在远程计算机(远程桌面会话)上,无论域是localhost还是外部IP地址,Internet Explorer中都会出现相同的错误。 如果尝试从本地计算机查看远程网站,则错误仍然是401,但401稍有不同。没有子代码,显示以下文本:由于凭据无效,访问被拒绝。 在Windows身份验证 IIS角色功能的安装。 所述WindowsAuthentication模块是(在服务器级)加入。 如果我关闭Windows身份验证并启用基本身份验证,则会发生完全相同的错误。 如果我关闭Windows身份验证并启用“匿名”(显然),则站点会加载。 我已经按照Microsoft支持上的所有故障排除步骤进行操作:解决IIS中的HTTP 401错误 我已经尝试了另一个Microsoft支持页面上显示的解决方法(可能是强制将NTLM作为唯一方法)。 最后但并非最不重要的一点是,我尝试为401.2错误打开FREB,结果似乎没有告诉我任何有用的信息,我看到的是以下警告: MODULE_SET_RESPONSE_ERROR_STATUS ModuleName IIS …