摘要式身份验证提供与基本身份验证相同的功能;但是,摘要式身份验证在通过网络发送用户凭据方面提高了安全性。摘要式身份验证将凭据作为 MD5 哈希或消息摘要在网络上传送(无法从哈希中解密原始的用户名和密码)。在 Web 分布式创作和版本控制 (WebDAV) 目录中可以使用摘要式身份验证。
不需要安装额外的客户端软件;但正如万维网联合会网站中的 RFC 2617 规范所定义的一样,摘要式身份验证依赖于 HTTP 1.1 协议。因为摘要式身份验证需要与 HTTP 1.1 兼容,所以并非所有的浏览器均支持该验证。如果与 HTTP 1.1 不兼容的浏览器从使用摘要式身份验证的服务器请求文件,则该服务器将要求客户端提供摘要式身份验证凭据。与 HTTP 1.1 不兼容的客户端拒绝该请求,因为客户端不支持摘要式身份验证。
要点 如果域控制器位于运行 Windows 2000 的计算机上,则 IIS 6.0 需要使用子验证以使摘要式身份验证能够正常工作。
要点 如果服务器在工作进程隔离模式下运行,则必须以 LocalSystem 帐户的身份运行。
安装子验证组件
当不再需要使用子验证时,撤销注册子验证组件。
撤销注册子验证组件
要点 仅当域控制器拥有 Active Directory 中存储的所请求用户密码的可逆加密(明文)副本时,摘要式身份验证才会完成。要以明文方式存储密码,您需要在 Active Directory 中激活用户“帐户”选项卡上的“使用可逆的加密保存密码”设置。或者,设置组策略以启用该功能。在指定此设置后,您需要设置新的密码以激活此功能,因为无法确定旧密码。有关在 Active Directory 中设置用户属性的详细信息,请参阅 Windows 帮助。
要在运行 IIS 的服务器上启用摘要式身份验证,您需要完成以下两个任务:
要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"。
注意 所有网站均能继承在网站文件夹级别设定的配置设置。
注意 如果为所配置的站点、虚拟目录或文件夹启用了基本身份验证,则还可以使用“默认域”框。但是,对于摘要式身份验证而言,只有“领域”是有效的。
除了使用 IIS 管理器配置领域名称外,还可以使用脚本在任何配置数据库级别配置领域名称(如下表所示)。如果没有特别配置子项,则它将从上一配置级别继承其配置。
配置数据库级别 | 描述 |
---|---|
W3SVC | W3SVC 级别(也称为 IISWebService 级别)是可以配置摘要式身份验证的配置数据库中的最高级别。没有具体配置设置的较低级别可以继承在此级别设置的配置。 |
W3SVC/n | W3SVC/n 级别(也称为 IISWebService 级别)是特定的网站,其中 n 是该站点的编号。站点从 1 开始编号。默认网站为 1。 |
W3SVC/n/root | W3SVC/n/Root 级别(称为 IISWebVirtualDir 级别)是网站的起点,其中 n 是该站点的编号。 |
W3SVC/n/root/vdir | W3SVC/n/ |
W3SVC/n/root/vdir/webdir | W3SVC/n/Root/WebVirtualDir/WebDir 级别(也称为 IISWebDirectory 级别)是网站内虚拟目录中的物理目录,其中 n 是该站点的编号。 |
W3SVC/n/root/vdir/file | W3SVC/n/root/vdir/file 级别是 W3SVC/n/ |
W3SVC/n/root/vdir/webdir/file | W3SVC/n/root/vdir/file 级别是 W3SVC/n/Root/WebVirtualDir/WebDir 级别中的单独文件,其中 n 是该站点的编号。 |
可以在运行 IIS 的服务器上配置一个或多个领域名称。可能需要配置多个领域名称,例如,给 domain1 的成员授予访问 sales 虚拟目录的权限,给 domain2 的成员授予访问 engineering 虚拟目录的权限。它尤其适用于 domain1 和 domain2 没有受信关系的情形。如果配置多个领域名称,则必须在不同的配置数据库级别对它们进行配置。有关域的详细信息,请参阅 Windows Server 2003 家族帮助。
如果没有给配置数据库中的某个子项配置领域名称,则该子项从配置了领域名称的上一个父项继承领域名称。如果没有配置领域名称,则 IIS 发送其自己的计算机名称作为领域名称。如果 IIS 发送其自己的名称作为领域名称,并且 IIS 不是在具有 Active Directory 的 Windows Server 2003 家族域控制器上运行,摘要式身份验证将失败。由于安全风险和性能方面的原因,建议不要在域控制器上运行 IIS(尽管也可以在上面运行)。