Help and Support
 

powered byLive Search

IIS 如何验证浏览器客户端

文章编号:264921
最后修改:2005年11月17日
修订:4.1
我们强烈建议所有运行 Microsoft Windows Server 2003 的用户将 Microsoft Internet 信息服务 (IIS) 升级到 6.0 版,因为 IIS 6.0 大大增强了 Web 基础结构的安全性。有关与 IIS 安全性相关的主题的更多信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/technet/security/prodtech/IIS.mspx (http://www.microsoft.com/technet/security/prodtech/IIS.mspx)
本页

概要

本文介绍 IIS 为 Microsoft Windows NT 4.0 和 Microsoft Windows 2000 提供的不同身份验证方法。对于本文所讨论的信息的更为完整的描述,请参见 Windows NT 4.0 和 Windows 2000 资源指南。

回到顶端

更多信息

Windows NT 4.0 可以使用的身份验证方法

匿名 - 不需要登录,允许任何人访问使用此方法保护的数据。服务器使用一个内置帐户(默认情况下为 IUSR_[计算机名])控制文件上的权限。浏览器不使用此类请求发送任何凭据或用户信息。
?受支持的浏览器:任何
?限制:无
?需要的用户权限:在服务器上定义的“匿名”用户帐户必须具有“在本地登录”权限。
?加密类型:无
基本身份验证(明文) - 服务器请求用户登录,并在浏览器中显示一个对话框,使用户可以输入所需的凭据。这些凭据必须与在用户尝试访问的文件上定义的用户凭据相匹配。
?受支持的浏览器:任何
?限制:不十分安全。密码容易被解码。
?需要的用户权限:用户帐户必须具有“在本地登录”权限。
?加密类型:Base 64 编码(非真正加密)
Windows NT 质询/响应 - 服务器请求用户登录。如果浏览器支持“Windows NT 质询/响应”,在用户登录时它将自动发送用户的凭据。如果用户所在的域与服务器的域不同,或者如果用户未登录,则会出现一个对话框,请求发送凭据。“Windows NT 质询/响应”使用一种算法基于用户的凭据和用户使用的计算机生成一种哈希。然后将此哈希发送到服务器。浏览器不将用户的密码发送到服务器。
?受支持的浏览器:Internet Explorer 3.01 版和更高版本。
?限制:要求点对点连接。通常,在出现“401 unauthorized”(401 未经授权)错误信息后将关闭电路;不过,如果正在协商“Windows NT 质询/响应”身份验证顺序(要求多个往返行程),服务器在客户端指示将使用“Windows NT 质询/响应”后的排序期间将保持电路处于打开状态。CERN 代理和某些其他 Internet 设备会阻止这样做。而且,“Windows NT 质询/响应”不支持双跃点模拟(因为传递到 IIS 服务器之后,不能将同一个凭据传递到后端服务器进行身份验证)。
?需要的用户权限:访问服务器的用户帐户必须具有“从网络访问此计算机”权限。
?加密类型:NTLM 哈希算法,该算法也容易被解码。
优先级顺序:在浏览器进行某个请求时,它始终认为第一个请求是“匿名”的。因此,它不发送任何凭据。如果服务器不接受“匿名”验证,或者如果在服务器上设置的“匿名”用户帐户对被请求的文件没有权限,则 IIS 服务器将使用“Access Denied”错误信息进行响应,并通过使用以下方案之一发送受支持的身份验证类型列表:
?如果“Windows NT 质询/响应”验证是唯一受支持的方法(或者“匿名”验证失败),则浏览器必须支持此方法才能与服务器通信。否则,它将无法与服务器协商,并且用户将收到“Access Denied”错误信息。
?如果“基本”验证方法是唯一受支持的方法(或者“匿名”验证失败),则在浏览器中将出现一个对话框以获取凭据,然后将这些凭据传递到服务器。它最多尝试三次发送这些凭据。如果三次都失败,浏览器将无法连接到服务器。
?如果“基本”和“Windows NT 质询/响应”都受支持,浏览器将决定使用哪种方法。如果浏览器支持“Windows NT 质询/响应”,它将使用此方法而且不回退到“基本”方法。如果不支持“Windows NT 质询/响应”,浏览器将使用“基本”方法。
注意
?在浏览器使用“基本”或 NTLM 身份验证建立了与网站的连接后,在与服务器的其余会话期间,浏览器不会回退到“匿名”验证。如果在身份验证之后尝试连接到标记为“仅匿名”的网页,则会被拒绝。(对于 Netscape,可能是这种情况,也可能不是这种情况)。
?在 Internet Explorer 已使用“基本”或 NTLM 身份验证建立与服务器的连接后,它将在会话期间为每个新请求传递凭据。

回到顶端

Windows 2000 可以使用的身份验证方法

匿名 - 不需要登录,允许任何人访问使用此方法保护的数据。服务器使用一个内置帐户(默认情况下为 IUSR_[计算机名])控制文件上的权限。浏览器不使用此类请求发送任何凭据或用户信息。
?受支持的浏览器:任何
?限制:无
?需要的用户权限:在服务器上定义的“匿名”用户帐户必须具有“在本地登录”权限。
?加密类型:无
基本身份验证(明文) - 服务器请求用户登录,并在浏览器中显示一个对话框,使用户可以输入所需的凭据。这些凭据必须与在用户尝试访问的文件上定义的用户凭据相匹配。
?受支持的浏览器:任何
?限制:不十分安全。密码容易被解码。
?需要的用户权限:用户帐户必须具有“在本地登录”权限。
?加密类型:Base 64 编码(非真正加密)
摘要 - 服务器请求用户登录,还发送用于加密密码的 NONCE。浏览器使用 NONCE 加密密码并将其发送到服务器。然后,服务器加密其自己的用户密码的副本并比较两者。如果相匹配,用户将具有权限,并被授予访问权限。
?受支持的浏览器:仅 Internet Explorer 5
?限制:不如“集成”方法安全。要求服务器能够访问为摘要身份验证设置的 Active Directory 服务器。
?需要的用户权限:要求密码具有“将密码保存为加密的明文”。
?加密类型:基于服务器发送的 NONCE。

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
222028 (http://support.microsoft.com/kb/222028/) 设置与 Internet 信息服务 5.0 一起使用的摘要式身份验证
Fortezza - 要将 Fortezza 安全用于 IIS 5.0,您需要有 Fortezza 提供商(如 http://www.spyrus.com)提供的适当的 Cryptographic API Service Provider (CSP) 文件。

Windows 集成(拆分为两个子类别)
Kerberos - 服务器请求用户登录。如果浏览器支持 Kerberos,将出现以下行为:
?IIS 请求身份验证。
?如果客户端尚未登录到域,在 Internet Explorer 中将出现一个对话框以请求凭据,然后联系 KDC 以请求并接收授权票证的票证。然后将授权票证的票证与有关 IIS 服务器的信息一起发送到 KDC。
?如果 IE 客户端已经成功登录到域,而且接收了授权票证的票证,它将把此票证与有关 IIS 服务器的信息一起发送到 KDC。
?KDC 向客户端颁发资源票证。
?客户端将此票证发送到 IIS 服务器。
Kerberos 使用在票证授权服务器 (KDC) 生成的票证进行身份验证。它将此票证发送到 IIS 服务器。浏览器“不”将用户的密码发送到服务器。
?受支持的浏览器:Internet Explorer 5.0 版和更高版本
?限制:服务器必须具有访问 Active Directory 服务器的权限。服务器和客户端必须都具有到 KDC 的信任连接。
?需要的用户权限:在服务器上定义的“匿名”用户帐户必须具有“在本地登录”权限。
?加密类型:加密的票证。
Windows NT 质询/响应 - 服务器请求用户登录。如果浏览器支持“Windows NT 质询/响应”,在用户登录时它将自动发送用户的凭据。如果用户所在的域与服务器的域不同,或者如果用户未登录,则在 Internet Explorer 中会出现一个对话框,请求发送凭据。“Windows NT 质询/响应”使用一种算法基于用户的凭据和用户使用的计算机生成一种哈希。然后将此哈希发送到服务器。浏览器不将用户的密码发送到服务器。
?受支持的浏览器:Internet Explorer 3.01 版和更高版本。
?限制:要求点对点连接。通常,在出现“401 unauthorized”(401 未经授权)错误信息后将关闭电路;不过,如果正在协商“Windows NT 质询/响应”身份验证顺序(要求多个往返行程),服务器在客户端指示将使用“Windows NT 质询/响应”后的排序期间将保持电路处于打开状态。CERN 代理和某些其他 Internet 设备会阻止这样做。而且,“Windows NT 质询/响应”不支持双跃点模拟(这意味着传递到 IIS 服务器之后,不能将同一个凭据传递到后端服务器进行验证,例如,当 IIS 使用“Windows NT 质询/响应”时,它无法随后使用“SQL 集成”安全在另一计算机的 SQL Server 数据库上对用户进行身份验证)。
?需要的用户权限:访问服务器的用户帐户必须具有“从网络访问此计算机”权限。
?加密类型:NTLM 哈希算法,该算法也容易被解码。
优先级顺序:在浏览器进行某个请求时,它始终认为第一个请求是“匿名”的。因此,它不发送任何凭据。如果服务器不接受“匿名”验证,或者如果在服务器上设置的“匿名”用户帐户对被请求的文件没有权限,则 IIS 服务器将使用“Access Denied”错误信息进行响应,并通过使用以下方案之一发送受支持的身份验证类型列表:
?如果“Windows 集成”是唯一受支持的方法(或者“匿名”验证失败),则浏览器必须支持此方法才能与服务器通信。服务器首先尝试 Kerberos,如果该方法失败,则该服务器将回退到“Windows NT 质询/响应”。如果仍失败,服务器将不尝试任何其他方法。
?如果“基本”验证方法是唯一受支持的方法(或者“匿名”验证失败),则在浏览器中将出现一个对话框以获取凭据,然后将这些凭据传递到服务器。它最多尝试三次发送这些凭据。如果三次都失败,浏览器将无法连接到服务器。
?如果“基本”和“Windows 集成”都受支持,浏览器将决定使用哪种方法。如果浏览器支持 Kerberos 或“Windows NT 质询/响应”,它将使用此方法,而不回退到“基本”验证方法。如果“Windows NT 质询/响应”和 Kerberos 不受支持,浏览器将使用“基本”、“摘要”或“Fortezza”(如果支持这些方法)。这三种方法的优先级顺序为“基本”、“摘要”和“Fortezza”。
注意
?在浏览器使用“基本”或“Windows 集成”验证建立了与网站的连接后,在与服务器的其余会话期间,浏览不会回退到“匿名”验证。如果在验证之后尝试连接到标记为“仅匿名”的网页,则会被拒绝。(对于 Netscape,可能是这种情况,也可能不是这种情况)。
?在 Internet Explorer 已使用“匿名”以外的验证方法建立与服务器的连接后,它将自动在会话期间为每个新请求传递凭据。

回到顶端

参考

有关如何在 Windows Server 2003 中配置 IIS 网站身份验证的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
324274 (http://support.microsoft.com/kb/324274/) 如何在 Windows Server 2003 中配置 IIS 网站身份验证

回到顶端


这篇文章中的信息适用于:
?Microsoft Internet Explorer 5.0
?Microsoft Internet Explorer 5.0 for Macintosh
?Microsoft Internet Information Services 5.0
?Microsoft Internet Information Server 2.0
?Microsoft Internet Information Server 3.0
?Microsoft Internet Information Server 4.0

回到顶端

关键字:?
kbinfo KB264921

回到顶端

Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润负任何责任。

文章翻译

 

Related Support Centers

Other Support Options

  • Need More Help?
    Contact a Support professional by E-mail, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.