在 Internet Explorer 6 中,Web 表单没有将用户名和密码提交给 Web 服务器

文章翻译 文章翻译
文章编号: 902409 - 查看本文应用于的产品
重要说明:本文包含有关如何修改注册表的信息。修改注册表之前,一定要先进行备份,并且一定要知道在出现问题时如何还原注册表。有关如何备份、还原和修改注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
256986 Microsoft Windows 注册表说明
展开全部 | 关闭全部

本文内容

症状

请考虑以下情形:
  • Web 服务器使用 HTTP 协商身份验证头来验证网站上客户端的身份。
  • 您使用 Microsoft Internet Explorer 6 从客户端计算机访问此网站。
  • 您收到要求输入用户名和密码的提示。
  • 当您输入用户名和密码并单击“确定”后,收到一个包含 Web 表单的“基于表单的身份验证”HTML 页面。此 Web 表单包含一个用户名字段和一个密码字段。该网页还显示一条消息,指出 Web 服务器拒绝 NTLM 身份验证。
  • 您在该 Web 表单中输入用户名和密码,然后提交该 Web 表单。
在此情况下,该 Web 表单不会将用户名和密码提交给 Web 服务器。

原因

出现此问题的原因是:如果客户端使用的是 NTLM 身份验证,而 Web 服务器需要的是简单且受保护的 GSSAPI 协商机制 (SPNEGO) 响应,Wininet.dll 文件将阻止数据的发送。

在您首次提交用户名和密码时, 客户端计算机上的 Wininet.dll 文件会向协商身份验证头中添加一个 NTLM 响应。如果 Web 服务器需要的是 SPNEGO 响应,则该 Web 服务器可能发送一个“401 拒绝 访问”以外的响应。因为该响应不是“401 拒绝访问”,所以 Wininet.dll 会错误地认为 身份验证已成功。当 Wininet.dll 认为身份验证已成功时,Wininet.dll 会删除已保存的身份验证数据,并且不会重新发送该数据。

解决方案

Windows XP

修补程序信息

Microsoft 现在提供了一个受支持的修补程序,但该程序只用于解决本文中提到的问题。仅当系统遇到本文描述的特定问题时才可应用此修补程序。此修补程序可能还会接受进一步的测试。因此,如果这个问题没有对您造成严重影响,我们建议您等待包含此修补程序的下一个 Windows XP Service Pack。

要立即解决此问题,请与 Microsoft 产品支持服务联系,以获取此修补程序。要获取 Microsoft 产品支持服务电话号码和支持费用信息的完整列表,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support
注意:特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于特定更新无法解决的其他支持问题和事项,将照常收取支持费用。
先决条件
要应用此修补程序,必须安装 Windows XP Service Pack 1 (SP1) 或 Windows XP Service Pack 2 (SP2)。
重新启动要求
应用此修补程序后,必须重新启动计算机。
修补程序替代信息
此修补程序不替代任何其他修补程序。
文件信息
此修补程序的英文版具有下表中列出的文件属性(或更新的文件属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。当您查看文件信息时??该时间将转换为本地时间。要了解 UTC 与当地时间之间的时差,请使用“控制面板”中“日期和时间”工具的“时区”选项卡。
   日期         时间      版本            大小     文件名         Service Pack
-------------------------------------------------------------------
07-Sep-2005  02:02  6.0.2900.2754  660,480  Wininet.dll         SP2
07-Sep-2005  00:09  5.1.2600.2754   30,720  Arpidfix.exe        SP2
06-Sep-2005  10:36  6.0.2800.1521  585,728  Wininet.dll         SP1

Windows Server 2003

修补程序信息

Microsoft 现在提供了一个受支持的修补程序,但该程序只用于解决本文中提到的问题。仅当系统遇到本文描述的特定问题时才可应用此修补程序。此修补程序可能还会接受进一步的测试。因此,如果这个问题没有对您造成严重影响,我们建议您等待包含此修补程序的下一个 Windows Server 2003 Service Pack。

要立即解决此问题,请与 Microsoft 产品支持服务联系,以获取此修补程序。要获取 Microsoft 产品支持服务电话号码和支持费用信息的完整列表,请访问下面的 Microsoft 网站:
http://support.microsoft.com/contactus/?ws=support
注意:特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于特定更新无法解决的其他支持问题和事项,将照常收取支持费用。
先决条件
无先决条件。
重新启动要求
应用此修补程序后,必须重新启动计算机。
修补程序替代信息
此修补程序不替代任何其他修补程序。
文件信息
此修补程序的英文版具有下表中列出的文件属性(或更新的文件属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。当您查看文件信息时??该时间将转换为本地时间。要了解 UTC 与当地时间之间的时差,请使用“控制面板”中“日期和时间”工具的“时区”选项卡。
   日期         时间      版本            大小     文件名          Service Pack
-------------------------------------------------------------------
07-Sep-2005  02:29  6.0.3790.404   628,224  Wininet.dll
07-Sep-2005  02:50  6.0.3790.2524  663,040  Wininet.dll         SP1
07-Sep-2005  00:29  5.2.3790.2524   32,256  Arpidfix.exe        SP1

修补程序安装说明

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证您可以解决这些问题。修改注册表需要您自担风险。

应用此修补程序后,请向注册表中添加两个注册表项以启用此修补程序。要添加这两个注册表 项,请按照下列步骤操作:
  1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
  2. 要以每用户方式激活此修补程序,请单击以下某个注册表子项:
    • HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_DISABLE_NTLM_PREAUTH_IF_ABORTED_KB902409
    • HKEY_CURRENT_USER\Software\Policies\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_DISABLE_NTLM_PREAUTH_IF_ABORTED_KB902409
    注意:您只需向上述注册表子项的其中一项添加注册表项。

    要以每台计算机的方式激活此修补程序,请单击以下某个注册表子项:
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_DISABLE_NTLM_PREAUTH_IF_ABORTED_KB902409
    • HKEY_LOCAL_MACHINE\Software\Policies\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_DISABLE_NTLM_PREAUTH_IF_ABORTED_KB902409
    注意:您只需向上述注册表子项的其中一项添加注册表项。
  3. 在“编辑”菜单上,指向“新建”,然后单击“项”。
  4. 键入
    FEATURE_HTTP_DISABLE_NTLM_PREAUTH_IF_ABORTED_KB902409
    ,然后按 Enter。
  5. 单击“FEATURE_HTTP_DISABLE_NTLM_PREAUTH_IF_ABORTED_KB902409”。
  6. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
  7. 键入 Iexplore.exe 作为新 DWORD 值的名称,然后按 Enter。
  8. 双击“Iexplore.exe”,在“数值数据”框中键入 1,然后单击“确定”以启用此修补程序。

    注意:要禁用此修补程序,请在“数值数据”框中键入 0
  9. 要添加 Explorer.exe 注册表项,请重复步骤 3 到步骤 5。在步骤 4 中,键入 Explorer.exe,而不是 Iexplore.exe
  10. 退出注册表编辑器。

替代方法

要变通解决此问题,请将 Web 服务器配置为支持 NTLM 身份验证。要获取有关如何配置 Web 服务器以执行 NTLM 身份验证的更多信息,请与 Web 服务器的供应商联系。有关如何与 Web 服务器应商联系的信息,请单击下表中适当的文章编号,以查看 Microsoft 知识库中相应的文章:
65416 硬件和软件供应商联系信息,A-K

60781 硬件和软件供应商联系信息,L-P

60782 硬件和软件供应商联系信息,Q-Z

状态

Microsoft 已经确认这是在“适用于”一节中列出的 Microsoft 产品中存在的问题。

更多信息

有关本文所用术语的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 有关用于描述 Microsoft 软件更新标准术语的介绍

属性

文章编号: 902409 - 最后修改: 2006年7月24日 - 修订: 3.2
这篇文章中的信息适用于:
  • Microsoft Internet Explorer 6.0 Service Pack 1?当用于
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional
关键字:?
kbbug kbfix kbie600presp2fix kbqfe kbie600sp2fix kbwinxpsp2fix kbwinxppresp2fix kbpubtypekc kbwinserv2003sp1fix kbwinserv2003presp1fix kbhotfixserver KB902409
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com