HOW TO:使用預先決定的認證存取 SQL Server
更新:2007 年 11 月
一個連接 SQL Server 的可靠方式是在連接字串中傳遞使用者名稱和密碼。您可以使用預先決定的使用者名稱和密碼。建議的方法是將預先決定的使用者名稱和密碼儲存在伺服器上,做為 connectionStrings 組態區段的一部分,然後使用受保護的組態來加密連接字串 (Connection String) 內容。如需詳細資訊,請參閱受保護的組態的概觀。還建議您使用 NTFS 檔案系統權限,限制對 Web.config 檔的存取。
安全性注意事項: |
---|
絕對不要將認證硬式編碼為字串,放在您應用程式的程式中。任何人只要能夠存取程式碼檔,即使是已編譯的程式碼,就能取得認證。 |
安全性注意事項: |
---|
務必要將最小的資源存取權限授與預先決定的使用者名稱。請勿使用 "sa" 或任何其他系統管理層級的使用者名稱。務必使用強式密碼。 |
若要將認證儲存在 Web.config 檔中
在 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>
使用受保護的組態加密連接字串值,如逐步解說:使用受保護的組態加密組態資訊所示。
在應用程式中,從 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;