HOW TO:配置 IIS 以支持 Kerberos 和 NTLM 身份验证

不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。
重要说明:本文包含有关编辑元数据库的信息。编辑元数据库之前,请确认您有一个备份副本,如果发生问题,可以还原该副本。有关如何执行此操作的信息,请参见 Microsoft 管理控制台 (MMC) 中的“配置备份/还原”帮助主题。

本任务的内容

概要
本文逐步介绍了如何配置 IIS 以支持 Kerberos 和 NTLM 身份验证。

在集成的 Windows 身份验证用于验证客户端请求时,Internet 信息服务 (IIS) 将传递 Negotiate 标题。Negotiate 安全标题允许客户端在 Kerberos 和 NTLM 之间进行选择。Negotiate 将选择 Kerberos,除非与身份验证有关的系统之一无法使用它或调用应用程序无法提供使用 Kerberos 所需的足够信息。

要允许 Negotiate 选择 Kerberos 网络身份验证协议,客户端应用程序必须提供服务主要名称 (SPN)、用户主要名称 (UPN) 或 NetBIOS 帐户名作为目标名称。否则,Negotiate 将始终选择 NTLM 作为首选的身份验证方法。

返回页首

警告:如果不正确地编辑元数据库,可能会导致严重问题,您可能需要重新安装使用元数据库的所有产品。Microsoft 不能保证能够解决由于您错误地编辑元数据库而导致的问题。编辑元数据库需要您自担风险。

注意:每次编辑元数据库前都要进行备份。

要确保 IIS 对 Kerberos 和 NTLM 身份验证都支持,请确认在“NTAuthenticationProviders”元数据库项中设置了 Negotiate 标题:
  1. 单击“开始”,单击“运行”,键入 cmd,然后按 Enter 键。
  2. 找到包含 Adsutil.vbs 文件的目录。默认情况下,该目录是 C:\Inetpub\Adminscripts。
  3. 使用下面的命令检索“NTAuthenticationProviders”的当前值:
    cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    如果启用了 Negotiate,将会返回以下内容:
    NTAuthenticationProviders       :(STRING) "Negotiate,NTLM"
  4. 如果此字符串中未返回 Negotiate,请使用下面的命令启用它:
    cscript adsutil.vbs set w3svc/NTAuthenticationProviders “Negotiate,NTLM”
  5. 重复第 3 步验证是否已启用了 Negotiate。

注意:可以禁用 Negotiate 以强制 IIS 仅发送 NTLM 标题。要禁用 Negotiate(从而阻止 Kerberos 身份验证),请使用下面的命令(注意“NTLM”必须大写,以避免出现任何不利的影响):
cscript adsutil.vbs set w3svc/NTAuthenticationProviders “NTLM”
注意:在更改此元数据库值以验证是否已成功进行这些更改时,请始终重复第 3 步。

返回页首
adsutil Kerberos
属性

文章 ID:215383 - 上次审阅时间:04/26/2004 20:42:25 - 修订版本: 2.0

Microsoft Internet Information Services version 5.1, Microsoft Internet Information Services 5.0

  • kbhowtomaster kbhowto KB215383
反馈