Asp.net

為什麼使用 iis 7.5 / windows 7 / 在 asp.net 應用程序上 Windows 身份驗證/模擬失敗

  • November 9, 2016

我正在解決為什麼我無法通過為 Windows 身份驗證和模擬配置的 ASP.Net 站點上的登錄對話框。

我有一個 ASP.Net 2.0 應用程序,我正在嘗試將它部署在帶有 IIS 7.5 的 Windows 7 上。我創建了一個新站點,並將其綁定到 localhost 和一個完全限定的域名。FQDN 在我的 hosts 文件中,並被重定向到 127.0.0.1

該站點還使用我創建的 AppDomain 執行,具有集成管道模式,並且流程模型標識設置為 ApplicationPoolIdentity。

Web.config 包括以下內容:

<trust level="High" />
<authentication mode="Windows" />
<authorization>
 <deny users="?"/>
</authorization>
<identity impersonate="true"/>`

站點目錄上的 ACL 設置為所有人(完全控制 - 用於測試)。應用程序池虛擬帳戶(Windows 7 事物)也設置為完全控制站點的物理目錄。

IIS 身份驗證啟用了 ASP.Net 模擬並啟用了 Windows 身份驗證。

當我作為 localhost 連接到該站點時,它允許我通過登錄提示並且應用程序載入而不會發生意外。

當我作為該站點/ip/埠的主機頭綁定中設置的 FQDN 連接到該站點時,我無法通過登錄提示。點擊取消會生成 http 401.1 錯誤頁面。

為什麼?

這個問題的答案將是一種稱為身份驗證環回檢查的安全功能,早在 Windows 2003 SP1 中就引入了,根據:http: //support.microsoft.com/kb/926642

我試圖使用在我的 /etc/hosts 文件中定義為指向 127.0.0.1 的主機頭連接到我的 iis 主機頭實例,同時在執行 iis 的機器上登錄 - 這是環回方案。

它會在各種情況下咬你,比如這個(http://blogs.bluethreadinc.com/thellebuyck/archive/2008/10/30/401.1-error-when-accessing-sharepoint-from-server.aspx>)或這個世界Google的傷害(<http://www.google.ca/search?q=authentication+loopback+check&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a

修復涉及一些簡單的系統資料庫編輯工作:http: //blogs.bluethreadinc.com/thellebuyck/archive/2008/10/30/401.1-error-when-accessing-sharepoint-from-server.aspx

我也不需要為我的情況啟用模擬,所以我禁用了它,現在我可以在本地和遠端使用我偽造的 fqdn 進行連接

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