[英]ASP.NET Windows authentication deny access from RDP user
我已經從VS模板(MVC)設置了Web應用程序,然后啟用Windows身份驗證。
<authentication mode="Windows" />
<authorization>
<allow roles="ABC\Domain Users" />
<deny users="*" />
</authorization>
然后將Web應用程序發布到IIS服務器。
它工作正常,當從客戶端計算機請求應用程序的索引頁時,它會自動登錄到我,並使用IE通過以下鏈接http://myteamserver.mycompany/myapplication
進行了測試。
但是,如果我將RDP發送到服務器(IIS所在的\\\\myteamserver.mycompany
),並在IE中打開相同的鏈接,即使輸入正確的憑據后,它也會不斷提示輸入憑據,我將被拒絕訪問。
錯誤信息:
HTTP錯誤401.2-未經授權由於身份驗證標頭無效,您無權查看此頁面。
問題:在客戶端計算機上運行IE和在服務器上運行IE有什么區別?
我檢查服務器上的IE設置,選中了“啟用集成Windows身份驗證”。 我也將RDP發送到另一台服務器,從那里我可以毫無問題地訪問Web應用程序。
原來是Windows的安全功能:
當您瀏覽使用集成身份驗證並承載在IIS 5.1或更高版本上的網站時,您會收到錯誤401.1 。
症狀:
當您使用完全限定的域名(FQDN)或自定義主機標頭來瀏覽運行Microsoft Internet信息服務(IIS)5.1或更高版本的計算機上承載的本地網站時,您可能會收到一條錯誤消息類似於以下內容:HTTP 401.1-未經授權:登錄失敗
當網站使用集成身份驗證並具有映射到本地回送地址的名稱時,會發生此問題。
注意如果您嘗試直接在服務器上瀏覽網站,則只會收到此錯誤消息。 如果您從客戶端計算機瀏覽該網站,則該網站將按預期工作。
原因:
..環回檢查安全功能,旨在幫助防止對計算機的反射攻擊。 因此,如果您使用的FQDN或自定義主機標頭與本地計算機名不匹配,則身份驗證將失敗。
如果我使用localhost或IP而不是FQDN,它將起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.