Asp.net

當我從 Visual Studio 執行項目時,Windows 身份驗證不起作用

  • June 11, 2013

當我在 IIS 上託管 ASP.NET MVC 項目時,Windows 身份驗證效果很好。但如果我從 Visual Studio 執行它 - 它不會。

這是我的 Web.config:

<authentication mode="Windows" />
<authorization>
 <deny users="?" />
</authorization>

我錯過了什麼嗎?

如果您在 IIS Express 中託管(您可能應該這樣做),請確保您在 Web 應用程序的屬性中啟用了 Windows 身份驗證。

順便說一句,如果您使用 Intranet 應用程序模板在 Visual Studio 中創建一個新的 ASP.NET MVC 4 應用程序,您將在螢幕上看到以下自述文件。所以繼續,試試看,閱讀它並按照那裡寫的內容進行操作:

要將此模板用於 Windows Azure 身份驗證,請參閱 <http://go.microsoft.com/fwlink/?LinkID=267940>。

否則,要將此模板用於 Windows 身份驗證,請參閱以下說明:

在 IIS Express 上託管:

  1. 在解決方案資源管理器中點擊您的項目以選擇該項目。
  2. 如果“屬性”窗格未打開,請將其打開 (F4)。
  3. 在項目的“屬性”窗格中:

a) 將“匿名身份驗證”設置為“禁用”。

b) 將“Windows 身份驗證”設置為“啟用”。

在 IIS 7 或更高版本上託管:

  1. 打開 IIS 管理器並導航到您的網站。
  2. 在功能視圖中,點兩下身份驗證。
  3. 在身份驗證頁面上,選擇 Windows 身份驗證。如果 Windows 身份驗證不是一個選項,您需要確保在伺服器上安裝了 Windows 身份驗證。

要在 Windows 上啟用 Windows 身份驗證:

a) 在控制面板中打開“程序和功能”。b) 選擇“打開或關閉 Windows 功能”。c) 導航到 Internet 資訊服務 > 全球資訊網服務 > 安全並確保選中 Windows 身份驗證節點。

要在 Windows Server 上啟用 Windows 身份驗證:

a) 在伺服器管理器中,選擇 Web 伺服器 (IIS) 並點擊添加角色服務。b) 導航到 Web 伺服器 > 安全並確保選中 Windows 身份驗證節點。

  1. 在“操作”窗格中,點擊啟用以使用 Windows 身份驗證。
  2. 在身份驗證頁面上,選擇匿名身份驗證。
  3. 在“操作”窗格中,點擊禁用以禁用匿名身份驗證。

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