更新:2007 年 11 月
默认情况下,在 Microsoft Windows 2000 和 Microsoft Windows XP 中,ASP.NET 应用程序在名为 ASPNET 的本地用户帐户的上下文中运行;在 Windows Server 2003 中,该应用程序在名为 NETWORK SERVICE 的本地用户帐户的上下文中运行。这两种用户帐户具有有限的访问权限。但 ASPNET 帐户是 Web 服务器的本地帐户。 因此,在远程计算机上并不会将它识别为用户。若要避开此限制,您可以让您的应用程序在 Windows 域用户(Web 服务器和运行 Microsoft SQL Server 的计算机都可以识别)的上下文中运行。
将您的应用程序进程映射到 Windows 域用户帐户时,要求您配置下列内容:
- Web 服务器。 - 必须确保您所指定的 Windows 域用户帐户具有足够(但仅此而已)的用户权限来运行 Web 应用程序。 
- 应用程序。 - 必须配置 ASP.NET 的 Web.config 文件以识别域用户帐户名。 .gif) 说明: 说明:- 有关 Machine.config 和 Web.config 文件的信息,请参见 ASP.NET 配置概述。 
- 连接字符串。 - 在为应用程序中的连接对象创建连接字符串时,必须指定这些连接字符串将使用 Windows 集成安全性。 
- SQL Server。 - 必须添加指定的域用户帐户作为 SQL Server 登录用户。 
在 Web 服务器上配置用户帐户
为 Windows 域用户帐户设置用户权限
- 在 Web 服务器上,使用 Windows 管理工具确保映射的 Windows 域用户帐户具有必需的用户权限。 - 有关详细信息,请参见 ASP.NET 必需的访问控制列表 (ACL)。 
- 使用 -ga 开关运行 aspnet_regiis.exe,以授予将用于应用程序模拟的标识所需的一般用户权限。 
映射到 Windows 用户帐户并启用模拟
在为域用户帐户建立正确的用户权限后,需要配置应用程序标识模拟。
| .gif) 安全说明: | 
|---|
| 将用户凭据放入 Web.config 文件时,可能会对安全构成威胁。对包含 Web.config 文件的目录具有访问权限的用户可以读取该文件,进而查看这些凭据。有关如何针对此威胁采取保护措施的详细信息,请参见使用受保护的配置加密配置信息。 | 
为模拟配置 Web 应用程序
- 打开应用程序的 Web.config 文件,然后添加下面的标识模拟代码: - <identity impersonate="true" userName="domain\username" password="********"/>- 请将以上示例中列出的值替换为正确的密码。 .gif) 说明: 说明:- Web.config 文件中的元素区分大小写。 
在连接字符串中使用 Windows 安全性
最后,在为数据库访问创建连接字符串之后,请将这些连接字符串配置为使用 Windows 集成安全性。
在连接字符串中使用 Windows 集成安全性
- 在为应用程序创建连接字符串时,不要包含用户名和密码。相反,对于连接字符串,应将 Integrated Security 属性设置为 SSPI。 - 下面的示例演示了一个包含适当属性的连接字符串: - data source=myserver;initial catalog=northwind;Integrated Security=SSPI
为集成安全性配置 SQL Server
- 在 Windows 中,单击**“开始”,指向“Microsoft SQL Server”,然后单击“企业管理器”**。 
- 打开服务器的节点,然后展开要向其授予用户权限的数据库的节点。 
- 右击**“用户”,然后单击“新建数据库用户”**。 
- 在**“数据库用户属性”对话框中,在“登录名”框中输入域\用户名,然后单击“确定”**。