共用方式為


HOW TO:使用預先決定的認證存取 SQL Server

更新:2007 年 11 月

一個連接 SQL Server 的可靠方式是在連接字串中傳遞使用者名稱和密碼。您可以使用預先決定的使用者名稱和密碼。建議的方法是將預先決定的使用者名稱和密碼儲存在伺服器上,做為 connectionStrings 組態區段的一部分,然後使用受保護的組態來加密連接字串 (Connection String) 內容。如需詳細資訊,請參閱受保護的組態的概觀。還建議您使用 NTFS 檔案系統權限,限制對 Web.config 檔的存取。

安全性注意事項:

絕對不要將認證硬式編碼為字串,放在您應用程式的程式中。任何人只要能夠存取程式碼檔,即使是已編譯的程式碼,就能取得認證。

安全性注意事項:

務必要將最小的資源存取權限授與預先決定的使用者名稱。請勿使用 "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 驗證