2012-01-11 31 views
0

定義了一個SQL Server,它只允許用戶x(在域中)連接到並僅通過使用Windows身份驗證。
我正在使用用戶x成功連接到計算機。
我正在從Visual Studio中成功運行我的網站。
但是,當我嘗試訪問我的網站在IIS上失敗,因爲它使用的是不同於x的用戶:
當我的ASP.NET網站嘗試連接失敗時,因爲它使用的是用戶y。
連接字符串未指定使用Windows身份驗證的用戶和密碼。
用戶y從哪裏來?它是IIS安裝或登錄的用戶?使用未知用戶連接到SQL Server的IIS/ASP.NET

SQL Server不是我的,所以我無法添加用戶或在那裏更改身份驗證方法。

有沒有一種方法可以讓IIS/ASP.NET模仿(是這個詞)用戶x?

+0

IIS以本地系統帳戶運行,並且依賴於它的所有服務。 – kroiz 2012-01-12 09:29:42

回答

1

你有集成安全性=真

如果是這樣,它會嘗試使用匿名/ IIS_USER帳戶訪問數據庫,而不是連接字符串中的內容。

+0

是的,連接字符串具有「Integrated Security = True」,但使用的用戶不是匿名/ IIS_USER。但是,一旦我添加到web.config身份impersonate = true,那麼即使我添加到web.config身份用戶是匿名/ IIS_USER userName =「x」 – kroiz 2012-01-12 07:07:13

+1

@kroiz你是否也傳遞連接字符串中的憑據? – user1231231412 2012-01-12 11:44:40

+0

不,我沒有。這樣做,問題就解決了。 :) 非常感謝。 所以總結一下:在web.config中我們有這樣的模擬:並且在連接字符串中我也有用戶標識和密碼。 – kroiz 2012-01-12 13:13:00

1

看看這些鏈接的幫助:在連接字符串中IIS ImpersonateIIS 7 Config

+0

我不確定你使用的是哪個版本的IIS! – Amn 2012-01-11 22:06:58

+0

我使用的是IIS6,我也試過模擬。我編輯了web.config並添加了一個實體來模擬userName x。然後,當我連接時啓動Web應用程序時,會顯示一個新的對話框(爲什麼是這樣?),詢問用戶和密碼,我輸入用戶名和密碼(儘管web.config具有用戶名(x)和密碼定義的模擬)並且仍然連接失敗,因爲使用連接的實際用戶是匿名/ IIS_USER。 – kroiz 2012-01-12 07:26:50