本任务的内容
概要
本文分步骤介绍了如何在 Microsoft Internet Information Services (IIS) 5.0 中为基于 Web 的请求配置身份验证。
Web 身份验证的工作原理
Web 身份验证是 Web 浏览器和 Web 服务器之间的通信,涉及少量“超文本传输协议”(HTTP) 标头和错误消息。
通信的流程是:-
Web 浏览器发出请求,如 HTTP-GET。
-
Web 服务器会执行身份验证检查。如果该请求因身份验证要求而失败,服务器将发回一个类似以下内容的错误消息:
You are not authorized to view this page
You do not have permission to view this directory or page using the credentials you supplied.Web 浏览器可以使用此消息中的信息,将该请求作为经过身份验证的请求重新提交。
-
Web 浏览器会使用服务器的响应来构建包含身份验证信息的新请求。
-
Web 服务器会执行身份验证检查。如果检查成功,Web 服务器就将最初请求的数据发回 Web 浏览器。
身份验证方法
注意:使用下列某些身份验证方法时,您需要使用已用 NTFS 文件系统格式化的驱动器,原因是 NTFS 格式化的驱动器的安全级别最高。
IIS 支持以下五种 Web 身份验证方法:匿名身份验证
当匿名用户请求 Web 内容时,IIS 将创建 IUSR_computername 帐户(其中,computername 是计算机的名称)以便对这些用户进行身份验证。此帐户授予用户本地登录权限。您可以将匿名用户访问重置为使用任何有效的 Windows 帐户。
注意:您可以为不同的网站、虚拟目录或物理目录和文件建立不同的匿名帐户。 如果基于 Windows 2000 的计算机是独立服务器,则 IUSR_computername 帐户在本地服务器上。如果该服务器是域控制器,则 IUSR_computername 帐户是针对该域定义的。基本身份验证
使用基本身份验证可以限制访问经过 NTFS 格式化的 Web 服务器上的文件。要使用基本身份验证,用户必须输入凭据,访问将基于用户 ID。
要使用基本身份验证,需要授予每个用户进行本地登录的权限,同时,为了便于管理,可以将每个用户都添加到可以访问所需文件的组中。 注意:因为用户凭据虽是使用 Base64 编码技术编码的,但它们在通过网络传输时未经过加密,所以基本身份验证被认为是一种不安全的身份验证方式。集成 Windows 身份验证
集成 Windows 身份验证比基本身份验证安全,而且在用户具有 Windows 域帐户的 Intranet 环境中能很好地发挥作用。在集成 Windows 身份验证中,浏览器会尝试使用当前用户在域登录过程中使用的凭据,如果尝试失败,浏览器将提示该用户输入一个用户名和密码。如果您使用集成 Windows 身份验证,则用户的密码将不传输到服务器。如果用户已作为域用户登录到本地计算机中,则他/她在访问该域中的网络计算机时不必再次进行身份验证。
注意:您不能通过代理服务器使用集成 Windows 身份验证。摘要式身份验证
摘要式身份验证克服了基本身份验证的许多缺点。在使用摘要式身份验证时,密码不是以明文形式发送的。另外,您可以通过代理服务器使用摘要式身份验证。摘要式身份验证使用一种质询/响应机制(集成 Windows 身份验证也使用此机制),其中的密码是以加密形式发送的。必须满足以下条件才能使用摘要式身份验证:
-
基于 Windows 2000 的服务器必须位于域中。
-
必须将 IISSuba.dll 文件安装到域控制器上。此文件是在 Windows 2000 Server 安装过程中自动复制的。
-
配置所有用户帐户时都必须启用“使用可逆的加密保存密码”帐户选项。启用此帐户选项要求重置或重新输入密码。
注意:如果您使用的是摘要式身份验证,则必须使用 Microsoft Internet Explorer 5.0 或更高版本作为您的 Web 浏览器。
客户端证书映射
客户端证书映射是一种在证书和用户帐户之间创建“映射”的方法。在此模型中,用户提供一个证书,系统检查此映射以确定应登录到的用户帐户。您可以使用以下两种方法之一将证书映射到 Windows 用户帐户:
-
使用 Active Directory。
- 或者 - -
使用 IIS 中定义的规则。
有关如何将客户端证书映射到用户帐户的其他信息,请在 IIS 文档中搜索“客户端证书映射”。如果已安装 IIS,则可以在 Web 浏览器的地址栏中键入以下 URL 来查看 IIS 文档,其中 localhost 是本地主机的名称:
http://localhost/iisHelp/iis/misc/default.asp有关如何使用证书的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290625 如何通过使用 Certificate Server 2.0 在 Windows 2000 IIS 5.0 测试环境中配置 SSL 您可以配置各种身份验证方法,以便控制对 IIS 服务器中以下项目的访问:
-
IIS 服务器上托管的所有 Web 内容。
-
IIS 服务器上托管的各个网站。
-
网站中的各个虚拟目录或物理目录。
-
网站中的各个网页或文件。
如何配置 IIS 网站身份验证
-
使用管理帐户登录到 Web 服务器计算机。
-
单击“开始”,指向“程序”,再指向“管理工具”,然后单击“Internet 服务管理器”。
将随即启动 Internet Information Services 管理单元。 -
在控制台树中,右键单击“* computer name”,其中 computer name 是计算机的名称。
-
右键单击以下项目之一,然后单击“属性”。
-
若要为 IIS 服务器上托管的所有 Web 内容都配置身份验证,请右键单击“* computer name”。
-
若要为单个网站配置身份验证,请右键单击所需的网站。
-
若要为网站中的虚拟目录或物理目录配置身份验证,请单击所需的网站,然后右键单击所需的目录,如“_vti_pvt”。
-
若要为网站中的单个网页或文件配置身份验证,请单击所需的网站,单击包含所需的文件或网页的文件夹,然后右键单击所需的文件或网页。
-
-
在“Item Name 属性”对话框(其中,Item Name 是所选项目的名称)中,单击“目录安全性”选项卡。
注意:如果所选的项目是单个文件,请单击“文件安全性”选项卡。 -
在“匿名访问和身份验证控制”下,单击“编辑”。
-
单击以选中“匿名访问”复选框,以便启用匿名访问。要关闭匿名访问,单击以清除此复选框。
注意:如果关闭匿名访问,则需要配置某种形式的身份验证访问。-
要更改用于匿名访问此资源的帐户,请单击“用于匿名访问的帐户”旁边的“编辑”。
-
在“匿名用户帐号”对话框中,单击您希望在匿名访问时使用的用户帐户。
-
如果要使用 Windows LogonUser() API 进行用户身份验证,请单击以清除“允许 IIS 控制密码¡±复选框。
注意:将此密码控制选项关闭后,就会强制 IIS 使用正常的身份验证并在本地登录该帐户。如果用户在访问网络计算机上的资源(如文件或 Microsoft Access 数据库)时遇到困难,则应关闭此选项。 -
单击“确定”。
-
-
在“用户访问需经过身份验证”下,单击以选中“基本身份验证(以明文形式发送密码)”复选框,以便启用基本身份验证。收到以下消息时,请单击“是”:
所选择的身份验证选项将导致密码未经数据加密而在网络上传输。进行身份验证时,企图破坏系统安全性的人可以通过协议分析程序检测用户密码。有关用户身份验证的详细信息,请参阅联机帮助。该警告不适用于 HTTPS(或 SSL)连接。
确实要继续吗?-
要选择对用户(这些用户要使用基本身份验证)进行身份验证时使用的域,请单击“选择默认的域”旁边的“编辑”。
-
在“域名”框中键入所需的域名,然后单击“确定”。
-
-
单击以选中“Windows 域服务器的摘要式身份验证”复选框,以便使用摘要式身份验证。收到以下消息时,请单击“是”:
摘要式身份验证仅适用于 Windows 2000 域帐户,且要求帐户将密码保存为加密明文文本。
确实要继续吗? 注意:配置用户帐户时必须启用“使用可逆的加密保存密码”帐户选项。 -
单击以选中“集成 Windows 身份验证”复选框,以便使用集成 Windows 身份验证。
注意:此身份验证方法以前称为 Microsoft Windows NT 质询/响应或 NT LAN Manager (NTLM)。 -
单击“确定”,然后在“Item Name 属性”对话框中单击“确定”。如果“继承覆盖”对话框打开,则:
-
单击“全选”,以便将新的身份验证设置应用到所更改项目内的所有文件或文件夹。
-
单击“确定”。
-
-
退出“Internet Information Services”。
参考
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
297954如何解决 Windows 2000 中的 Web 服务器问题
299970 如何使用 NTFS 权限保护 IIS 4.0 或 5.0 上运行的网页
216705 如何对 IIS 上的 FrontPage Web 设置权限
222028 设置要用于 Internet Information Services 5.0 的摘要式身份验证
158229 INFO:IIS 应用程序的安全后果