集成 Windows 身份验证

集成 Windows 身份验证(以前称为 NTLM 或 Windows NT 质询/响应验证)是一种安全的验证形式,因为在通过网络发送用户名和密码之前,先将它们进行哈希计算。当启用集成 Windows 身份验证时,用户的浏览器通过与 Web 服务器进行密码交换(包括哈希)来证明其知晓密码。集成 Windows 身份验证是 Windows Server 2003 家族成员中使用的默认验证方法。

集成 Windows 身份验证使用 Kerberos v5 验证和 NTLM 验证。如果在 Windows 2000 或更高版本域控制器上安装了 Active Directory 服务,并且用户的浏览器支持 Kerberos v5 验证协议,则使用 Kerberos v5 验证,否则使用 NTLM 验证。

集成 Windows 身份验证包括 Negotiate、Kerberos 和 NTLM 验证方法。Negotiate(Kerberos 和 NTLM 的包装)非常适用于连接 Internet 上的客户端,因为这两种验证方法均缺少某个功能(如下所示):

要成功地进行 Kerberos v5 验证,客户端和服务器都必须可靠地连接到密钥分配中心 (KDC),并且必须与 Active Directory 服务兼容。

客户端验证过程

以下步骤概述了如何使用集成 Windows 身份验证对客户端进行身份验证:

  1. 与基本身份验证不同,集成 Windows 身份验证开始时并不提示用户输入用户名和密码。客户机上的当前 Windows 用户信息可用于集成 Windows 身份验证。
  2. 注意 注意 如有必要,可以将 Microsoft Internet Explorer 4.0 及更高版本配置为在开始时提示输入用户信息。有关详细信息,请参阅 Internet Explorer 帮助。

  3. 如果开始时的验证交换无法识别用户,则浏览器提示用户输入 Windows 帐户用户名和密码,并使用集成 Windows 身份验证进行处理。
  4. Internet Explorer 将继续提示用户,直到用户输入有效的用户名和密码或关闭提示对话框为止。

尽管集成 Windows 身份验证非常安全,但它仍然有两个限制:

  1. 只有 Microsoft Internet Explorer 2.0 和更高版本才支持这种验证方法。
  2. 它不能用于 HTTP 代理连接。

因此,集成 Windows 身份验证最适用于 Intranet 环境,在其中用户和 Web 服务器计算机位于相同的域中,并且管理员可以确保每个用户使用 Internet Explorer 2.0 或更高版本。如果集成 Windows 身份验证由于用户凭据错误或其他问题而失败,则浏览器就会提示用户输入用户名和密码。

集成 Windows 身份验证使用 Kerberos。在 Kerberos 身份验证服务对某个服务进行验证之前,该服务只能在一个帐户对象上注册。如果服务实例的登录帐户发生变化,则该服务必须使用新帐户重新注册。因此,只有一个注册了该服务的应用程序池可以使用 Kerberos 进行验证。因此,在应用程序池的虚拟目录级别上,不能将站点彼此隔离。但是,有一个解决办法。客户可以基于域名来隔离这些站点。例如,CompanynameHR.com 和 CompanynameSales.com。

配置集成 Windows 身份验证

要点 要点 您必须是本地计算机上 Administrators 组的成员或者您必须被委派相应的权限才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录到计算机,然后使用运行方式命令来以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"

启用集成 Windows 身份验证

  1. 在 IIS 管理器中,右键单击“网站”文件夹、网站、目录、虚拟目录或文件,然后单击“属性”。

    注意 注意 所有网站均能继承在网站文件夹级别设定的配置设置。

  2. 单击“目录安全性”或“文件安全性”选项卡,具体情况取决于所配置的安全设置级别。
  3. 在“身份验证和访问控制”部分中,单击“编辑”。
  4. 在“用户访问需经过身份验证”部分中,选中“集成 Windows 身份验证”复选框。
  5. 单击“确定”两次。
相关主题

© 1997-2003 Microsoft Corporation。保留所有权利