从 Web 应用程序访问 SQL Server

更新:2007 年 11 月

当 Web 应用程序涉及数据库访问时,它必须向 SQL Server 提供凭据(即它必须登录到 SQL Server),就像任何其他用户或进程一样。在 Web 应用程序中,这样会使问题复杂化。例如,如果 Web 应用程序以匿名方式运行,则可能没有要传递到 SQL Server 的凭据。

为 Web 应用程序设计 SQL Server 访问的方法有多种。您选择什么样的策略,取决于您的计算机是如何配置的以及您是否在 Intranet 上。最简单的选择有:

  • 使用 Windows 集成安全性。此选择将用户的凭据传递到 SQL Server。由于委托问题,因此,默认情况下只有当 SQL Server 与 IIS 在同一台计算机上时,此选择才会起作用。

  • 将 ASP.NET 应用程序标识映射到 Windows 域用户,然后以该用户身份登录到数据库。如果 SQL Server 与 Web 服务器位于不同的计算机上,此选择非常适合于匿名访问。

  • 以您的 ASP.NET 应用程序的本地标识(例如,Windows 2000 服务器上的本地 ASPNET 帐户或 Windows Server 2003 上的 NETWORK SERVICE 帐户)访问 SQL Server。此选择非常适合于匿名访问。

  • 在连接字符串中传递显式用户名和密码。此选择的安全性低于其他选择,因此您应该始终使用受保护的配置来保护连接字符串。您可以传递预设的用户名和密码。

本节内容

术语

定义

如何:使用 Windows 集成安全性访问 SQL Server

提供的示例演示如何使用 Windows 集成安全性访问数据库。

如何:使用映射的 Windows 域用户访问 SQL Server

提供的示例演示如何使用映射的 Windows 域用户访问数据库。

如何:以本地用户身份访问 SQL Server

提供的示例演示如何使用本地用户帐户访问数据库。

如何:使用预设的凭据访问 SQL Server

提供的示例演示如何使用预设的登录信息访问数据库。

请参见

概念

安全数据访问 (ADO.NET)

Web 应用程序安全威胁概述

Web 应用程序的基本安全实施策略

其他资源

保证 ASP.NET 网站的安全