我们有一个使用 Windows 身份验证的 IIS 站点 (MOSS 2007)。当忘记密码的用户尝试登录时,服务器会不断发送 401 请求。这意味着在 IE 上,用户在显示空白页之前会收到三个提示;在 Firefox 上,用户会不断收到提示,直到他们放弃。
我们想改变这种行为,如果用户连续三次登录失败,我们会将他们重定向到另一个网站,而不是另一个 401
表单身份验证不是一种选项;站点必须保留 Windows 身份验证才能实现 SSO 功能和某些 SharePoint 功能。
有什么方法可以调整 IIS 行为来实现这一点吗?
答案1
我们设法解决了这个问题。
在 IIS 7.0 中,需要进行以下更改才能显示自定义 HTML 错误页面:
在应用程序 web.config 后面添加以下内容
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Auto" >
</httpErrors>
</system.webServer>
然后运行命令“appcmd unlock config -section:httpErrors”以阻止 IIS 因这些更改而出现 500 错误
答案2
如果你查看 IIS 站点选项,你应该会找到一个选项卡,其中列出了 IIS 发送给 Web 浏览器的默认页面;请查看http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/80cb8d8d-8fd8-4af5-bb3b-4d11fff3ab9c.mspx?mfr=true