2017-06-18 27 views
1

我自願幫助一家非營利公司,該公司擁有由當地大學的學生構建的Web應用程序,該應用程序已經畢業且不再可用。他們將ASP.NET用於Web應用程序,將SQL Server用於Windows Server網絡上的數據庫。它使用IIS應用程序池登錄到SQL Server,登錄:IIS APPPOOL \ DefaultAppPool。SQL Server使用VB.NET中內置的Windows Form應用程序使用現有的IIS應用程序池

我已經重寫了VB.NET中的應用程序,並增加了功能,因爲我沒有ASP.NET的經驗。我還最終在同一個服務器上建立了一個新的數據庫,並在我們認爲新應用程序準備就緒後導入當前的數據庫。我研究了應用程序池。

問題:VB.NET Windows Form .EXE應用程序可以使用現有IIS APPPOOL連接到SQL Server嗎?

我試圖最大限度地減少用戶對SQL Server計算機的訪問,而不是搞亂當前的系統。目前普通用戶不具有AD網絡對SQL計算機的讀/寫權限,他們可以訪問其Citrix桌面上的現有Web應用程序。

二級問題:如果某個.EXE應用程序無法使用IIS APPPOOL,我的研究顯示會爲該用戶創建一個AD組,併爲該組添加一個SQL Server登錄,並對該數據庫擁有SQL權限並使用Windows身份驗證進行連接到SQL Server。 SQL Server計算機上的哪些目錄需要分配給新組的AD權限? 我嘗試了我構建的數據庫的.mdf和.ldf文件,登錄失敗。謝謝你的幫助。

回答

0

問題:VB.NET Windows Form .EXE應用程序可以使用現有的IIS APPPOOL連接到SQL Server嗎?

號IIS所使用的唯一的webapps

次要問題:如果一個.EXE程序不能使用IIS APPPOOL,我的研究表明讓與用戶的AD組,添加的SQL Server爲該組登錄具有數據庫的SQL權限並使用Windows身份驗證連接到SQL Server。 SQL Server計算機上的哪些目錄需要將AD權限分配給新組?我嘗試了我建立的數據庫的.mdf和.ldf文件,登錄失敗。

即使您不使用IIS,也可以使用基本的Windows身份驗證。您可以在sql server中創建一個windows組,將用戶添加到該組中。但是仍然存在一個問題,用戶需要右擊應用程式,並運行作爲該組的設置連接..

爲了避免這種情況,您可以直接創建用戶併爲其指定權

如果您正在使用SQL Server登錄,您的用戶可以直接login..when他們運行的應用程序,他們可能會面臨提示輸入憑據..

爲目錄部分,您只需確保,sql server運行,因爲帳戶對該目錄具有完全權限

+0

通過實驗,我發現只給數據庫.mdf和.ldf文件所在目錄的AD安全組提供修改/讀/寫權限似乎足以使新程序能夠使用Windows的SQL Server身份驗證和正確的連接字符串。 –

0

應用程序池是IIS內部方法,即使在該Web服務器上運行的網站彼此分開。總的來說,一個網站不應該也不能訪問其他網站的應用程序池,所以你的Windows Forms應用程序也不能這樣做。

這並不意味着你不能訪問相同的SQL服務器或同一個數據庫,當然可以。但這取決於你的連接設置,這兩個將是兩個不同的SQL服務器會話,兩個或更多的SQL服務器進程。

這也回答了第二個問題:您必須定義連接,可能在應用程序中使用連接字符串。這取決於你如何做到這一點。並且由您決定爲用戶選擇什麼樣的安全模式。

相關問題