# 启用和配置身份验证

此主题提供启用身份验证的一般过程，以及配置匿名、基本、摘要式、高级摘要式和集成 Windows 身份验证设置的详细过程。如果对这些身份验证方法不太熟悉，请在服务器上启用和配置这些身份验证设置之前，参阅关于身份验证。

- 启用身份验证
- 配置匿名身份验证
- 配置基本身份验证
- 配置摘要式身份验证
- 配置高级摘要式身份验证
- 配置集成 Windows 身份验证

## 启用身份验证

可以对任何网站或 FTP 站点、虚拟目录或文件启用任意一种或多种身份验证设置。默认情况下，启用匿名身份验证和集成 Windows 身份验证。

### 启用 WWW 身份验证方法

1. 创建与此身份验证方法对应的 Windows 用户帐户。如果允许，可将此帐户添加到 Windows 用户组。有关创建 Windows 用户帐户的详细信息，请参阅使用 NTFS 保护文件安全。
2. 为要控制其访问权限的目录或文件配置 NTFS 权限。详细信息，请参阅设置目录或文件的 NTFS 权限。
3. 在 Internet 信息服务管理单元中，选择某个站点、目录或文件，并打开其属性页。
4. 选择相应的“目录安全性”或“文件安全性”属性页。在“匿名访问和身份验证控制”下，单击“编辑”。
5. 在“身份验证方法”对话框中，选择一项或多项设置。

注意

- 要确保仅使用基本身份验证对用户进行身份验证，请清除其他所有复选框。
- 在下列任何情况下，Web 服务器将只尝试使用基本、摘要式或集成 Windows 身份验证方法：

- 未选择匿名身份验证访问。
- 匿名身份验证失败。
- 对文件和目录的访问受 NTFS 权限的限制。

### 启用 FTP 身份验证方法

摘要式和集成 Windows 身份验证不能用于 FTP 站点。必须在 FTP 站点的站点级设置可用的身份验证设置。

1. 按照启用 WWW 身份验证方法中的步骤 1-3 进行操作。
2. 选择“安全帐户”属性页，选中“允许匿名连接”复选框。
3. 在“用户名”和“密码”文本框中，输入要使用的匿名登录用户名和密码。用户名是匿名用户的帐户名，一般格式为 IUSR_computername。清除“允许 IIS 控制密码”复选框，可以对密码进行更改。
4. 选中“允许 IIS 控制密码”复选框，密码将与 Windows 用户帐户的密码同步。

   注意 密码只能与本地计算机上所定义的匿名用户帐户同步，而不能与网络中其他计算机上的匿名帐户同步。

5. 选中“只允许匿名连接”复选框，要求所有用户以匿名用户帐户登录。
6. 单击“确定”。
7. 为匿名帐户设置适当的 NTFS 权限。详细信息，请参阅设置目录或文件的 NTFS 权限。

要点 如果更改网站或虚拟目录的安全性设置，Web 服务器将提示您重新设置此站点或目录下子级站点或子级目录的安全设置。如果选择接受这些设置，子级站点或子级目录将继承父站点或父目录的安全设置。有关设置属性的信息，请参阅关于网站和 FTP 站点中的“站点属性和属性继承”。

## 配置匿名身份验证

默认情况下，Windows 用户组 Guests 包含 IUSR_computername 帐户。可以创建多个匿名帐户，每个网站或 FTP 站点、目录或文件对应一个帐户。通过授予这些帐户不同的访问权限，或将这些帐户指派到不同的 Windows 用户组，允许用户匿名访问公共网站和 FTP 的各部分内容。

匿名帐户必须允许用户从本地登录。如果帐户没有“本地登录”权限，IIS 将无法为任何匿名请求提供服务。默认情况下，未向域控制器的 IUSR_computername 帐户指派此权限。必须将此帐户的权限更改为“本地登录”才能允许匿名请求。

还可以更改 Windows 中 IUSR_computername 帐户的安全权限。但是，如果匿名用户帐户对特定资源没有访问权限，Web 服务器将拒绝建立与此资源的匿名连接。详细信息，请参阅设置 Web 和 FTP 权限。

### 启用匿名身份验证

1. 在 Internet 信息服务管理单元中，选择某个站点、目录或文件，打开其属性页。
2. 选择“目录安全性”或“文件安全性”属性页。出现“目录安全性”还是“文件安全性”属性页，取决于您正在更改的是目录级还是文件级的安全设置。
3. 在“匿名访问和身份验证控制”部分，单击“编辑”，出现“身份验证方法”对话框。
4. 选中“匿名访问”复选框。

### 更改用于匿名身份验证的帐户

1. 在 Internet 信息服务管理单元中，选择某个站点、目录或文件，并打开其属性页。
2. 选择“目录安全性”或“文件安全性”属性页。出现“目录安全性”还是“文件安全性”属性页，取决于您正在更改的是目录级还是文件级的安全设置。
3. 在“匿名访问和身份验证控制”部分，单击“编辑”，出现“身份验证方法”对话框。
4. 选中“匿名访问”复选框并单击“编辑”，出现“匿名用户帐户”对话框。
5. 输入或浏览希望用于匿名访问的有效 Windows 用户帐户。
6. 清除“允许 IIS 控制密码”复选框，输入帐户密码。

要点 如果更改 IUSR_computername 帐户，将会影响由 Web 服务器提供服务的所有匿名请求。修改此账户时须小心谨慎。

## 配置基本身份验证

启用基本身份验证不会自动配置 Web 服务器对用户进行身份验证。必须按上所述创建 Windows 用户帐户并正确设置 NTFS 权限。

要使用基本身份验证正确验证用户身份，Windows 用户帐户必须具有“本地登录”用户权限。因为基本身份验证将模拟一个本地用户，或实际登录到服务器的用户，因此必须指派此权限。默认情况下，未向 Windows 主域控制器 (PDC) 中的用户帐户授予“本地登录”权限。有关信息，请参阅“Active Server Pages 指南”中的 LogonMethod 参考。

要点 基本身份验证方法以非加密形式在网络上传输用户名和密码。可以将 Web 服务器的加密功能与基本身份验证方法结合使用，确保通过网络传输的用户帐户信息的安全性。详细信息，请参阅关于加密。

### 启用基本身份验证

1. 在 Internet 信息服务管理单元中，选择某个站点、目录或文件，并打开其属性页。
2. 选择“目录安全性”或“文件安全性”属性页。出现“目录安全性”还是“文件安全性”属性页，取决于您正在更改的是目录级还是文件级的安全设置。
3. 在“身份验证方法”对话框中，选中“基本身份验证”复选框。

必须选择默认的登录域。详细信息，请参阅设置默认登录域。

## 配置摘要式身份验证

有关使用摘要式身份验证的基本要求，请参阅摘要式身份验证的要求。要在 IIS 服务器上启用摘要式身份验证，需完成下列两个任务：

- 对 Windows 域服务器启用摘要式身份验证
- 配置领域名

### 对 Windows 域服务器启用摘要式身份验证

1. 打开 Internet 信息服务管理单元。
2. 选择某个网站、虚拟目录或文件夹。
3. 在“操作”菜单中，选择“属性”。
4. 选择“目录安全性”属性页。
5. 单击“匿名访问和身份验证控制”部分中的“编辑”。
6. 选中“Windows 域服务器的摘要式身份验证”复选框。

### 配置领域名

可以在配置数据库的任何级别配置领域名，如表 1 所示。如果没有对子节点进行专门配置，它将从配置好的上一级节点继承配置。

表 1

配置数据库级别 | 说明
W3SVC | W3SVC 级别也称为 IISWebService 级别，是配置数据库中可以配置高级摘要式身份验证的最高级别。如果此级别下面的级别没有专门配置，将继承此级别的配置。
W3SVC/n | W3SVC/n 级别也称为 IISWebServer 级别，是一个专门的网站，其中 n 是站点编号。从 1 开始对这些站点编号，默认网站的编号为 1。
W3SVC/n/root | W3SVC/n/Root 级别也称为 IISWebVirtualDir 级别，是网站的开始位置，其中 n 是站点的编号。
W3SVC/n/root/vdir | W3SVC/n/ROOT/WebVirtualDir 级别也称为 IISWebVirtualDir 级别，是网站中的虚拟目录，其中 n 是站点的编号。
W3SVC/n/root/vdir/webdir | W3SVC/n/Root/WebVirtualDir/WebDir 级别也称为 IISWebDirectory 级别，是虚拟目录中的物理目录，其中 n 是站点编号。
W3SVC/n/root/vdir/file | 这是 W3SVC/n/ROOT/WebVirtualDir 级别中的单个文件，其中 n 是站点编号。
W3SVC/n/root/vdir/webdir/file | 这是 W3SVC/n/Root/WebVirtualDir/WebDir 级别中的单个文件，其中 n 是站点编号。

可以在 IIS 服务器上配置一个或多个领域名。如果使用多个领域名，必须分别在配置数据库的不同级别进行配置。例如，您可能希望配置多个领域名，允许 domain1 的成员访问销售虚拟目录，允许 domain2 的成员访问工程虚拟目录。如果 domain1 和 domain2 没有建立信任关系，配置多个领域名非常有用。有关域的详细信息，请参阅 Windows XP 联机文档。

如果配置数据库中的子节点没有配置领域名，此子节点将从配置了领域名的上一级节点继承领域名。如果上一级节点也没有配置领域名，IIS 将发送自己的计算机名作为领域名。如果 IIS 发送自己的计算机名作为领域名，但具有 Active Direc tory 的 Windows XP 域控制器上没有运行 IIS，摘要式身份验证将失败。虽然也可以在域控制器上运行 IIS，但这样做不安全而且会影响性能，建议不要这样做。

#### 配置领域名

1. 打开命令提示符窗口。
2. 输入 cscript.exe x:\inetpub\adminscripts\adsutil.vbs set level/realm realm_name。

- 其中 x: 是安装 IIS 的驱动器。
- 其中 level 是要配置其领域名的配置数据库级别。
- 其中 realm_name 是将对客户端进行身份验证的领域/域名称。

3. 按 Enter 键。

#### 示例

决定将默认网站（默认网站的编号为 1）的领域名配置为 redmond，并且知道 IIS 安装在驱动器 c: 上。

1. 在命令提示符窗口中，输入 cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/1/realm redmond。
2. 按 Enter 键。

命令提示符窗口显示：
realm : <string> "redmond"

## 配置高级摘要式身份验证

有关使用高级摘要式身份验证的基本要求，请参阅高级摘要式身份验证的要求。要在 IIS 服务器上启用高级摘要式身份验证，需完成下列三个步骤：

- 对 Windows 域服务器启用摘要式身份验证
- 配置领域名
- 设置 UseDigestSSP 配置数据库属性

要点 如果执行了前两个步骤，但没有配置 UseDigestSSP 配置数据库关键字，则使用的将是摘要式身份验证，而非高级摘要式身份验证。

### 对 Windows 域服务器启用摘要式身份验证

1. 打开 Internet 信息服务管理单元。
2. 选择某个网站、虚拟目录或文件夹。
3. 在“操作”菜单中，选择“属性”。
4. 选择“目录安全性”属性页。
5. 单击“匿名访问和身份验证控制”部分中的“编辑”。
6. 选中“Windows 域服务器的摘要式身份验证”复选框。

### 配置领域名

可以在配置数据库的任何级别配置领域名，如表 2 所示。如果没有对子节点进行专门配置，它将从配置好的上一级继承配置。

表 2

配置数据库级别 | 说明
W3SVC | W3SVC 级别也称为 IISWebService 级别，它是配置数据库中可以配置高级摘要式身份验证的最高级别。如果此级别下面的级别没有专门配置，将继承此级别的配置。
W3SVC/n | W3SVC/n 级别也称为 IISWebServer 级别，是一个专门的网站，其中 n 是站点编号。从 1 开始对这些站点编号，默认网站的编号为 1。
W3SVC/n/root | W3SVC/n/Root 级别也称为 IISWebVirtualDir 级别，是网站的开始位置，其中 n 是站点的编号。
W3SVC/n/root/vdir | W3SVC/n/ROOT/WebVirtualDir 级别也称为 IISWebVirtualDir 级别，是网站中的虚拟目录，其中 n 是站点的编号。
W3SVC/n/root/vdir/webdir | W3SVC/n/Root/WebVirtualDir/WebDir 级别也称为 IISWebDirectory 级别，是虚拟目录中的物理目录，其中 n 是站点编号。
W3SVC/n/root/vdir/file | 这是 W3SVC/n/ROOT/WebVirtualDir 级别中的单个文件，其中 n 是站点的编号。
W3SVC/n/root/vdir/webdir/file | 这是 W3SVC/n/Root/WebVirtualDir/WebDir 级别中的单个文件，其中 n 是站点的编号。

可以在 IIS 服务器上配置一个或多个领域名。如果使用多个领域名，必须分别在配置数据库的不同级别进行配置。例如，您可能希望配置多个领域名，允许 domain1 的成员访问销售虚拟目录，允许 domain2 的成员访问工程虚拟目录。如果 domain1 和 domain2 没有建立信任关系，配置多个领域名非常有用。有关域的详细信息，请参阅 Windows XP 联机文档。

如果配置数据库中的子节点没有配置领域名，此子节点将从配置了领域名的上一级节点继承领域名。如果上一级节点也没有配置领域名，IIS 将发送自己的计算机名作为领域名。如果 IIS 发送自己的计算机名作为领域名，但具有 Active Directory 的 Windows XP 域控制器上没有运行 IIS，高级摘要式身份验证将失败。虽然也可以在域控制器上运行 IIS，但这样做不安全而且会影响性能，建议不要这样做。

#### 配置领域名

1. 打开命令提示符窗口。
2. 输入 cscript.exe x:\inetpub\adminscripts\adsutil.vbs set level/realm realm_name
。

- 其中 x: 是安装 IIS 的驱动器。
- 其中 level 是要配置领域名的配置数据库级别。
- 其中 realm_name 是将对客户端进行身份验证的领域或域的名称。

3. 按 Enter 键。

#### 示例

决定将默认网站（默认网站的编号为 1）的领域名配置为 redmond，并且知道 IIS 安装在驱动器 c: 上。

1. 在命令提示符窗口中，输入 cscript.exe c:\inetpub\adminscripts\adsutil.vbs set w3svc/1/realm redmond。
2. 按 Enter 键。

命令提示符窗口显示：
realm : <string> "redmond"

### 设置 UseDigestSSP 配置数据库属性

高级摘要式身份验证使用称为 UseDigestSSP 的配置数据库关键字。此配置数据库关键字是摘要式和高级摘要式安全支持提供程序接口 (SSPI) 代码之间的切换开关。设置此关键字后，有效的属性值只有 1 (TRUE)、0 (FALSE) 或空。如果属性值为 TRUE，则使用新的高级摘要式 SSPI 代码。设置为其他值（FALSE、空或未设置）时，IIS 使用摘要式 SSPI 代码。

可以在配置数据库的任何级别配置 UseDigestSSP 配置数据库属性，如表 2 所示。如果没有对子节点进行专门配置，它将从已配置好的上一级继承配置。

#### 配置 UseDigestSSP 配置数据库属性

1. 打开命令提示符窗口。
2. 输入 cscript /nologo %SystemDrive%\inetpub\adminscripts\adsutil.vbs SET level/UseDigestSSP True。

- 其中 level 是 UseDigestSSP 关键字所在的配置数据库级别。

3. 按 Enter 键。

有关 UseDigestSSP 配置数据库关键字的详细信息，请参阅“按字母排序的属性列表”中的 UseDigestSSP。

#### 示例

使用此示例测试是否在 w3svc/1 级别配置了 UseDigestSSP 配置数据库关键字。

1. 打开命令提示符窗口。
2. 输入 cscript /nologo %SystemDrive%\inetpub\adminscripts\adsutil.vbs GET w3svc/1/UseDigestSSP。
3. 按 Enter 键。

- 如果未在配置数据库的 w3svc/1 级别配置 UseDigestSSP 配置数据库关键字，命令提示符窗口将显示：
  未在此节点设置参数“UseDigestSSP”。
- 如果检查的节点（此示例中为 w3svc/1 级别）配置了 UseDigestSSP 关键字，命令提示符窗口将显示：
  UseDigestSSP : (BOOLEAN) True

## 配置集成 Windows 身份验证

只有 Microsoft Internet Explorer 2.0 或更高版本支持集成 Windows 身份验证。集成 Windows 身份验证不能跨代理服务器或其他防火墙应用程序运行。如果由于用户凭据不正确或其他原因导致集成 Windows 身份验证失败，浏览器将提示用户输入用户名和密码。

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