Asp.net-Mvc
視窗身份驗證在 MVC4 中不起作用
設想
使用者A可以訪問 MVC4 網站中除一個以外的所有頁面。但是使用者B可以訪問所有頁面(沒有限制)。
到目前為止我做了什麼?
- 在 IIS 7.5 上部署網站。
- 為 IIS 上的託管網站啟用視窗身份驗證並禁用匿名身份驗證。
- 測試網站。
測試結果 -
(1) 使用者B登錄網站所在系統*(開發系統)時,無需提示對話框即可訪問網站。*
(2) 但是當相同的網站以相同的設置發佈在伺服器*(生產系統)*上時,網站仍然會彈出請求憑據。
開發系統和生產系統都在同一個域中(我們將其命名為domain.com)。
問題
為什麼網站要求同一域中的同一使用者提供憑據?
根據我對Window Authentication的研究,我想總結以下幾行*(也作為我的參考)* -
**(1)**如果您正確配置了 WA, Window Authentication(縮寫為 WA)將始終顯示驗證使用者的提示。
請參閱下面的快照中禁用匿名身份驗證和啟用**Windows 身份驗證。
(2)即使將NTLM設置為高於****Kerberos (在 IIS 中)的頂級提供程序,IIS 仍會要求提供 Window 憑據。快照顯示如何做到這一點。
(3)如果您想避免**在瀏覽器上顯示 WA 提示,請按照以下步驟操作 -
(a) 打開 IE 瀏覽器 –> Internet 選項–>安全選項卡。
(b) 將站點添加到本地 Intranet區域,以便瀏覽器將登錄的使用者名和密碼發送到 IIS。
注意 - 以上幾點普遍適用於 MVC 和 ASP.NET。
回答我的問題 為什麼網站要求同一域中的同一使用者提供憑據?
因為我在開發系統上設置了匿名身份驗證和 Window 身份驗證。(愚蠢的錯誤)。

