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

更新:2007 年 11 月

连接到 SQL Server 的可靠方法是在连接字符串中传递用户名和密码。您可以使用预设的用户名和密码。建议的方法是将预设的用户名和密码作为 connectionStrings 配置节的一部分存储在服务器中,然后使用受保护的配置来加密连接字符串内容。有关详细信息,请参见受保护配置概述。此外,建议使用 NTFS 文件系统权限来限制对 Web.config 文件的访问。

ds20z471.alert_security(zh-cn,VS.90).gif安全说明:

决不将凭据以字符串形式硬编码到您应用程序的程序中。能够访问代码文件(甚至是已编译的代码)的任何人员,都将能够获取凭据。

ds20z471.alert_security(zh-cn,VS.90).gif安全说明:

始终将资源的最少访问特权给予预设用户名。决不使用“sa”或任何其他管理级别的用户名。始终使用强密码。

将凭据存储在 Web.config 文件中

  1. 在 Web.config 文件的 connectionStrings 元素中创建一个新的 add 关键字。connectionStrings 元素必须作为 configuration 元素的子元素出现。有关详细信息,请参见配置节架构

    下面的示例阐释一个包含用户名和密码的 add 关键字:

    <configuration>
      <connectionStrings>
        <add name="NorthwindConnection" 
          connectionString="Data Source=localhost; 
            Initial Catalog=Northwind;
            User Id=ApplicationUserID;
            Password=#P%19!ef2" />
      </connectionStrings>
    </configuration>
    
  2. 使用受保护的配置加密连接字符串值,如演练:使用受保护的配置加密配置信息中所示。

  3. 在您的应用程序中,从 ConfigurationManager 类的 ConnectionStrings 属性读取凭据。

    下面的示例显示如何在运行时读取凭据并将它们串联到连接字符串中:

    Dim settings As ConnectionStringSettings
    settings = System.Configuration.ConfigurationManager.ConnectionStrings("NorthwindConnection")
    Dim connectionString As String = settings.ConnectionString
    
    ConnectionStringSettings settings;
    settings = System.Configuration.ConfigurationManager.ConnectionStrings["NorthwindConnection"];
    string connectionString = settings.ConnectionString;
    

请参见

概念

从 Web 应用程序访问 SQL Server

安全数据访问 (ADO.NET)

其他资源

ASP.NET 配置设置

ASP.NET 身份验证