Windows-Server-2008

為 ASP.NET MVC 應用程序和 Windows 身份驗證配置 ISS 和 SQLSERVER

  • February 18, 2013

我剛剛安裝了帶有 SQL 伺服器和 asp.net mvc 應用程序的 ISS。我希望我的應用程序使用 Windows 身份驗證。在我的應用程序方面,我知道我有很好的連接字元串,因為我在我的本地機器上執行它並且它工作正常。

在我的新遠端伺服器上,它不想工作 - 所以我將連接字元串更改為使用憑據 - sa,它工作了。所以我顯然缺乏一些用於 Windows 身份驗證的配置。

就我而言,我將網路服務添加到我的 sql server 登錄名中,並授予它管理員權限。此外,我的應用程序池作為網路服務執行。它仍然不起作用,我錯過了什麼?

編輯澄清:在我的 sql 伺服器中啟用了 WinAuth。

我認為“網路服務”使用者沒有按照您期望的方式工作。

嘗試將應用程序池設置為以特定使用者身份執行,然後將該使用者添加到 slq 伺服器登錄。然後在使用者映射下為該使用者提供對特定數據庫所需的最小權限集。通常 db_datareader 和 db_datawriter 就足夠了。

請注意,您使用的使用者不需要機器上的任何特殊權限。它可能是本地使用者或根本不是任何安全組成員的域使用者。如果您專門為此目的創建了一個新使用者,您可以將其設為標準使用者,然後您可以進入使用者管理器並將其從使用者組中刪除,這樣它就沒有對機器的任何預設訪問權限。這樣,您仍然可以獲得在連接字元串中使用 Windows 身份驗證方法的優勢。

引用自:https://serverfault.com/questions/479710