2012-08-03 70 views
1

我已經獲得生產SQL數據庫的備份以開始編寫應用程序。
我得到它作爲本地實例運行,並使用Windows身份驗證,我可以讀取信息,但我無法弄清楚如何讓IIS使用我的Windows身份驗證登錄到SQL服務器時運行本地ASP.Net網站。無法訪問本地SQL進行修改

我沒有權限在數據庫添加用戶,並且當我嘗試訪問讀取數據庫的頁面時遇到了System.Data.SqlClient.SqlException: Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.錯誤。

我不認爲我將能夠與數據庫管理員溝通一段時間,讓他爲我解決這個問題。我能在這裏做什麼嗎?

+0

讓IIS使用**您的**憑證是一個難題。我建議你在連接字符串中使用用戶名/密碼。如果您想努力嘗試,請在網上搜索「iis sql-server kerberos代表團」。 – Andomar 2012-08-03 20:57:00

+0

@Andomar:我想使用用戶名/密碼肯定....但我沒有權限添加一個數據庫出於某種原因。 :( – 2012-08-03 21:01:47

回答

3

您的asp代碼使用IIS運行的相同標識 - 網絡服務帳戶。爲了得到它使用您的憑據,你可以將它們硬編碼到一個連接字符串,也可以使用模擬(請參閱此鏈接:http://msdn.microsoft.com/en-us/library/aa292118%28VS.71%29.aspx

鏈接的要點: 在web.config文件將這個:<identity impersonate="true" />

-t。

+0

只是「-t。」?在web.config中究竟發生了什麼? – 2012-08-03 21:01:17

+0

這是我第二次看到「把這個放在你的web.config中」這句話來引用這個問題,而且兩次都是這樣其次是空白文本....我猜這是格式化問題? – 2012-08-03 21:02:32

+0

@james是的,文本編輯器會去除類似於xml的格式,除非格式化爲代碼(通常可以通過查看文章的原始來源進行檢查)。另外,我很確定'-t。'只是爲了他的名字lol – nbrooks 2012-08-03 22:06:53

0

您需要在SQL Server中爲網絡服務帳戶創建一個帳戶,例如通過SSMS通過「安全」部分,右鍵單擊「登錄」並選擇添加。您將添加一個Windows帳戶,然後您可以查找並驗證名稱「網絡服務」。然後切換到「用戶映射」部分並授予查看數據庫的權限。

參考:http://msdn.microsoft.com/en-us/library/ms998320.aspx#paght000015%5Fsqlserver

第二另類 如果 「集成安全性= SSPI」 有沒有在連接字符串中比你應該:

  1. 打開集成身份驗證在IIS的Windows身份驗證
  2. 打開在asp.net中
  3. 打開asp.net中的虛假位置

希望它會有所幫助。