1

我開發了一個ASP.Net網站。我面對的問題是當我在我的系統上使用web.config中的連接字符串(「Data Source =。\; Initial Catalog = ITS; Integrated Security = True」)在IIS中運行應用程序時,它運行良好。我連接到數據庫並顯示數據。SQL連接使用域用戶名和密碼

我已經使用IIS中的ASP.NET包在域計算機上安裝了數據庫。這裏的問題是它沒有連接到數據庫。我試圖使用這樣的連接字符串:「Data Source =。\; Initial Catalog = ITS; UID = S1 \ ISLWW74562S; PWD = delta $%67; Integrated Security = True」

其中S1是域名而ISLWW74562S是用戶名。

它給出了一個錯誤不能找到登錄S1 \ ISLWW74562S $

誰能幫助我如何和什麼是使用連接字符串域計算機上的正確方法。

感謝

回答

2

刪除UID = S1 \ ISLWW74562S; PWD =三角洲$從連接字符串%67,而是在IIS中創建一個特殊的應用程序池,爲您的網站和配置這樣的應用程序池下運行域帳戶。

查看this以查看如何設置應用程序池以使用自定義帳戶。

此外,請確保您使用的域帳戶具有您要使用的SQL數據庫所需的訪問權限。

如果您使用的是Microsoft SQL Server,那麼您需要使用SQL Management Studio爲域用戶創建一個新的登錄名併爲其授予對您正在使用的數據庫的適當訪問權限。

+0

當我使用SQL Management Studio時,必須以管理員身份運行它。此處使用的管理員用戶名是ISLWW74562S \ a154ey,管理員密碼是delta $%67。然後,我可以運行SQL服務器並查看其中的表格和詳細信息。我應該在連接字符串中使用此管理員用戶名和密碼嗎? –

+0

將密碼放入連接字符串是一個安全問題。我提出的是,你讓用於在IIS中運行你的網站的應用程序池運行在有數據庫訪問權限的帳戶下(例如ISLWW74562S \ a154ey)。 –

+0

錯誤仍然存​​在。它說「登錄失敗S1 \ ISLWW74562S $」。其中S1 =域名和ISLWW74562S $ =計算機名稱。即使我已經在SQL Server中爲名爲S1 \ ISLWW74562S $的數據庫添加了一個登錄名,賦予其db_owner和sysadmin權限。 –

2

當您使用集成安全性時,您不會指定用戶名和密碼。 Sql Server不會允許你這樣做。相反,它正在尋找由域控制器發佈的令牌,這就是它所能接受的。

通過使用IIS中的Impersonation功能或設置IIS的應用程序池以作爲該用戶帳戶運行,可以爲您的應用程序獲取這樣的令牌。

+0

問題是如果我必須通過以管理員模式運行應用程序來進行系統中的任何類型的更改。即使我必須以管理員身份運行IIS。我會怎麼做 –

相關問題