為什麼使用 iis 7.5 / windows 7 / 在 asp.net 應用程序上 Windows 身份驗證/模擬失敗
我正在解決為什麼我無法通過為 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
我也不需要為我的情況啟用模擬,所以我禁用了它,現在我可以在本地和遠端使用我偽造的 fqdn 進行連接