Asp.net

IIS7 中的 SQL Server 和 windows 身份驗證

  • November 28, 2015

我正在嘗試使用 SQL Server 和 Windows 身份驗證在 Vista (IIS7) 上執行 ASP.NET 網站。無論我做什麼,當我連接到數據庫時,都會出現異常:

SqlException 未處理
使用者“MyDomain\MachineName$”登錄失敗。

我應用什麼設置似乎並不重要,我無法讓 IIS7 通過我的 Windows 登錄憑據。

額外細節:

  • SQL Server 和我的本地電腦都在 ActiveDirectory 上
  • Vista 企業版,IIS7
  • SQL 伺服器 2005
  • 匿名身份驗證已禁用,Windows 身份驗證已啟用
  • 模擬開/關沒有區別
  • 所有身份(NetworkService、LocalSystem 等)都給出相同的結果
  • 經典和集成管道提供相同的結果

幫助!

正確配置後,模擬開/關會產生重大影響。您想要的稱為“約束委派”,您需要為其配置 IIS 和 ASP:

預設情況下,IIS 伺服器不允許impersonate您訪問 SQL Server。有一篇關於如何配置它的MSDN 文章。配置過程複雜且容易出錯。

如果您的生產 ISS 和 SQL Server 在不同的伺服器上執行,您將需要域管理員來配置兩個伺服器之間的模擬信任。這在大型組織中通常是不可行的。

除了不被普通管理員部署之外,模擬還會阻止使用者在 SQL 連接池中共享他們的連接。即使是小型(5 個以上使用者)網站,這也會導致非常明顯的性能損失。

引用自:https://stackoverflow.com/questions/1847239