2012-11-21 64 views
1

我們已完成使用ASP.NET開發自定義CMS。 CMS將在IIS中設置數百到數千次(每個域一個)。 CMS使用SQL Server來存儲頁面內容,設置等。SQL Server登錄ASP.NET CMS

我們應該爲每個網站創建一個新的SQL Server登錄(使用SQL身份驗證),還是應該爲所有網站使用相同的登錄名?

對此有何想法,將不勝感激

+0

每個實例是否有單獨的數據庫? – StingyJack

+0

對不起,我應該提到這一點,是的,每個網站(cms實例)都有自己的數據庫(相同的SQL Server實例) – user1843086

回答

0

如果你要設定的單獨CMS和DB爲每個實例,那麼你應該爲每個實例創建一個單獨的SQL登錄的麻煩。

通過這種方式,您可以爲設計增加一層安全性(並且會產生更多的已經非常糟糕的維護成本)。

+0

感謝您的想法,我們幾年前開發了一個CMS,並且每次安裝都有登錄,精細。我認爲使用共享登錄可能會更好。關於維護,這是一個完全自動化的過程,所以沒有真正的關注。 – user1843086

0

讓每個站點擁有自己的登錄似乎更安全。

這樣你就不會無意中看到錯誤的內容數據庫(或惡作劇)。

我會建議在SQL中使用Windows身份驗證。它更容易設置,並且不需要在web.config文件中存儲密碼。

爲安全起見,您可以進一步限制此用戶帳戶。

也不要讓這些用戶帳戶使用相同的密碼,尖叫不安全。

+0

感謝,關於使用Windows身份驗證的有趣想法,我們過去曾在每個站點使用不同的SQL登錄名和密碼。是否有API來設置每個站點的Windows帳戶? (我們目前在安裝過程中使用Microsoft.SqlServer.Management。 – user1843086

+0

@ user1843086執行此操作:我確定有可用於自動化用戶帳戶和權限的工具,我建議使用'PowerShell'或'MSBuild'和出色的'MSBuild擴展包',您可以使用擴展包來設置IIS(網站,應用程序池,應用程序)。 –