2009-04-11 67 views
2

將ASP.Net網站連接到數據庫的首選(最佳實踐)方法是什麼?我懷疑這與使用Trusted-Connection並授予NT-Authority帳戶訪問權限一樣簡單。ASP.Net的首選數據庫連接

你們都做什麼?假設乾淨安裝的SQL Server(2008),你如何配置訪問數據庫的網站?

回答

1

我通常將ASP.NET應用程序池作爲單獨的帳戶(而不是NT AUTHORITY\NETWORK SERVICE)運行,並使用Windows身份驗證訪問SQL Server。此方法的優點是不會將密碼存儲在配置文件中。

步驟:

  1. 創建用戶帳戶來運行ASP.NET應用程序。
  2. 在IIS中創建應用程序池並在創建的帳戶上運行它。
  3. 將您的應用程序需要的NTFS權限分配給該帳戶。
  4. 授予在SQL Server上登錄的權限。
  5. 將相應的數據庫角色分配給創建的登錄名。

這將適用於很多應用程序。對於更復雜的安全環境,您可能需要更復雜的策略。

+0

這很有道理。你能提供一個鏈接或更多關於實施的指導嗎? – jcelgin 2009-04-11 17:48:41

+0

還要記住,您可以爲數據庫定義自己的角色 - 如果您嘗試採用最佳實踐,則希望限制應用程序(相關用戶)在標準角色的固有限制之外可以或不可以執行的操作。 – Murph 2009-04-11 19:16:58

0

我曾經使用可信連接,但最終感覺有時候我最終不得不將太多的權限授予用於連接/應用程序池的服務帳戶。現在我使用SQL Server帳戶並設置應用程序在Application_Start期間加密連接字符串(如果它們尚未加密)。事實上,我加密了可能包含用戶憑證的任何部分。我使用appSetting來確定加密代碼是否運行,因此我不會在開發環境中加密我的設置。

0

我也使用SQL Server帳戶,只是發現它更簡單和排除故障。