iis - 最奇怪的IIS Windows身份验证行为

标签 iis windows-authentication

我有一个使用Windows身份验证在公司网络中的Windows Server R2上运行的ASP.NET网站。

  • 网站的应用程序池正在使用域帐户,并且处于集成管道模式。
  • 身份验证设置为Windows身份验证,所有其他身份验证模式均被禁用。

  • 但是,这不起作用。每次我访问该网站时,都会 pop 一个对话框,询问用户名和密码。我输入了正确的域用户名和密码,但是并没有继续-再次 pop 窗口。 3次后,它失败并显示白页。我尝试使用许多不同的浏览器,但所有浏览器均失败。我请一些同事尝试,他们也都失败了。

    我无法弄清楚为什么会发生此错误,并尝试了多种方法来解决此问题,但是没有运气。我觉得这很奇怪。但是,最后我找到了解决此问题的方法,这是问题中最奇怪的部分:我在网站的“基本设置”中编辑“物理路径”,例如,将其指向另一个健康的网站, %SystemDrive%\ inetpub \ wwwroot,然后尝试浏览该网站,非常好,它运行良好并显示默认页面(iisstart.htm)。看起来它并不是很有用,但是随后我将物理路径更改回了我的网站;突然一切顺利-Windows身份验证有效!我不知道为什么会有帮助,但是我对这个结果感到满意-尽管我不知道到底发生了什么,但它解决了我的问题。

    快乐的时光总是很短,几天后,服务器获得了一些补丁程序并重新启动,网站无法再次运行。再说一次,我可以使用上面的技巧来解决问题。

    我不喜欢这个!我不喜欢每次IIS重置或服务器重新启动时都执行此愚蠢的技巧。

    是否有人对Windows身份验证为什么失败,为什么上述技巧可以解决问题以及在IIS重置后为何再次失败的想法有所了解?

    最佳答案

    首先,谢谢您创建这篇文章。我有完全相同的问题,没有发布明显的修复程序对我没有用,找不到其他人。我已经为此工作了近两个星期

    为了帮助遇到此问题和帖子的下一个可怜的灵魂,我希望我的额外花絮能对您有所帮助。

    您最初的解决方案无法解决我的问题,但确实证明了它与自定义错误页面有关。将您的代码粘贴到web.config中后,我的问题变得更糟,无法调试或启动页面(与web.config相关的500个内部服务器错误)

    但最后我要做的是进入IIS控制台并删除所有自定义错误页面。它仍然没有按预期的那样工作。但是,我还在站点控制台的上半部分(以及web.config中的“自定义错误”标记)找到了ASP.NET “.NET自定义错误” 的条目。我在那里有旧条目,并通过控制台和YESSSS将其删除,我的网站通过Windows身份验证恢复了正常状态。

    此后,我重新创建了IIS自定义错误,但我仍按设计正常运行。

    因此,对于可能有此问题的其他任何人,请同时检查ASP.NET自定义错误 IIS自定义错误设置。我可能不知道可能有冲突,但是就我而言,仅设置IIS页会解决我的问题(现在:-))

    关于iis - 最奇怪的IIS Windows身份验证行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3140272/

    相关文章:

    iis - Windows 7中IIS的inetmgr.exe的默认位置是什么,因为我的Windows搜索均无法正常进行。有其他选择吗?

    asp.net - 目录上的 "401 Unauthorized"

    .net - 使用哪个? Visual Studio 开发服务器或本地 IIS Web 服务器?

    c# - 您可以在浏览器外使用集成 Windows 身份验证吗?

    c# - 如何在Windows身份验证模式下将Windows用户添加为SQL用户

    asp.net-mvc - HTTP 错误 401.2 - 未授权工作应用程序池中的新站点

    SSL 证书从 IIS 中消失

    c# - 为 c# Post 使用不受信任的 ssl 证书

    c# - MVC windows 身份验证在项目属性中变灰(变灰)

    asp.net-mvc-4 - MVC4单元测试和windows认证