Asp.net
IIS7 中的 SQL Server 和 windows 身份驗證
我正在嘗試使用 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 個以上使用者)網站,這也會導致非常明顯的性能損失。