2013-07-09 60 views
2

我一直在嘗試將一個ASP腳本連接到SQL Server數據庫的短短一個月內 但每次使用此連接字符串:
Data Source=dbServer01;Initial Catalog=POS123;Integrated Security=SSPI;User ID=domain\usr;Password=pwd;如何使用Windows身份驗證指定Windows用戶連接到MS SQL Server數據庫

它忽略了我指定的用戶並使用機器名來驗證連接,這顯然失敗了。

所以我綜合安全值更改爲false,像這樣:
Data Source=dbServer01;Initial Catalog=POS123;Integrated Security=False;User ID=domain\usr;Password=pwd;

然後我得到一個錯誤:用戶登錄失敗「域的\ usr」,這是不可能的,因爲它的工作原理,當我們測試連接與它在odbc管理員應用程序中。

我問了一個老大的幫助,他說它把用戶名作爲數據庫用戶名,但我們需要使它使用Windows身份驗證,並指定使用哪個用戶。 我記得在一個月前閱讀過這篇文章,發現在使用此版本的ASP.NET進行Windows身份驗證連接時,無法指定用戶和密碼。 我要儘快殺死自己如果我不能讓這個腳本連接,請別人救我!

回答

3

你得至少 3個選擇這裏:

  • 它運行作爲domain/usr,然後你的應用程序分配給該應用程序池,Web服務器上創建一個應用程序池,並使用集成的安全性。您的連接字符串將爲Data Source=dbServer01;Initial Catalog=POS123;Integrated Security=SSPI; - 即放棄用戶名和密碼 - 這些是AppPool身份中固有的。
  • 或(假設混合模式的安全性已啓用)問你的DBA來創建具有相同的權限domain/usr一個新的SQL用戶(只是叫usr),然後改變你的連接字符串標準的安全性,User Id=usr
  • 如果啓用模擬(herehere),則可以使用域憑證而不更改應用程序池標識。請注意有關確保明文密碼的安全點和IME,通常還需要額外的配置以避免double-hop issue
+0

我跑了默認的應用程序池作爲該用戶,它不工作,錯誤仍然存​​在 – pythonian29033

+0

這可能是因爲您同時設置'SSPI'和'UNAME/Password' - 這是不相容 - HTTP:/ /stackoverflow.com/questions/1229691/difference-between-integrated-security-true-and-integrated-security-sspi。另外,請仔細檢查,您是否已將應用設置爲使用默認應用程序池?我已經添加了模擬完整選項,但不會推薦它。 – StuartLC

+0

甜美!我需要這種模仿,我知道這不是安全的理想選擇,但這些只是統計數據,我被告知要使用模擬,無論 – pythonian29033

相關問題