7

我正在排除爲什麼我無法通過配置爲Windows身份驗證和模擬的ASP.Net站點上的登錄對話框。爲什麼windows身份驗證/模擬失敗asp.net應用程序使用iis 7.5/windows 7/

我有一個ASP.Net 2.0應用程序,我試圖將它部署到Windows 7與IIS 7.5。我創建了一個新網站,並將其綁定到本地主機和完全限定的域名。 FQDN在我的主機文件中,並被重定向到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身份驗證。

當我作爲本地主機連接到站點時,它允許我通過登錄提示並加載應用程序時不會發生事故。

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

爲什麼?

回答

7

和這一個問題的答案會是被稱爲身份驗證環回檢查安全功能,引入了歸途中的Windows 2003 SP1,按:http://support.microsoft.com/kb/926642

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

它咬你在各種情況下,像這樣的(http://blogs.bluethreadinc.com/thellebuyck/archive/2008/10/30/401.1-error-when-accessing-sharepoint-from-server.aspx)或這個世界的傷害在谷歌(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

THE FIX涉及一些簡單的註冊表編輯器的工作:http://blogs.bluethreadinc.com/thellebuyck/archive/2008/10/30/401.1-error-when-accessing-sharepoint-from-server.aspx

我也沒必要啓用模擬我的情況,所以我禁用了,現在我可以使用我的僞裝fqdn本地和遠程連接

+0

感謝這個真討厭僅僅通過它咬自己 – Aaron 2011-03-06 06:37:55

+1

鏈接http://blogs.bluethreadinc.com/thellebuyck/archive/2008/10。 /30/401.1-error-when-accessing-sharepoint-from-server.aspx關閉 - 請問您可以編輯您的答案,直接包含修復程序嗎?謝謝 – toebens 2011-05-10 10:30:13

+1

以下是更多官方參考資料:http://support.microsoft.com/KB/896861 – 2012-04-20 00:33:34

7

由Velvet提供的URL已關閉。我發現了一個緩存版本上archive.org:

「 401.1錯誤當過去在建立SharePoint環境來訪問SharePoint從服務器

我就遇到了這個問題幾次(用於內部開發使用,客戶),所以我認爲是時候寫一篇關於它的博客文章瞭如果您在Windows Server 2003 SP1或更高版本上運行SharePoint Server 2007或WSS 3.0,如果您嘗試使用主機頭訪問SharePoint網站,則會遇到身份驗證問題從服務器本身(即主機文件的portal.mydomain.com指向127.0.0.1),這個問題表現爲Microsoft內置到Windows Server 2003 SP1和更高版本的環回安全檢查的結果。環回檢查的目的是消除拒絕服務攻擊,但它會導致從服務器本地訪問SharePoint站點的問題。在典型的生產環境中,這通常不是問題,因爲您很少從前端Web服務器本身訪問SharePoint網站(除中央管理員之外)。不過,我確實有物理和虛擬開發環境,其中所有活動都是從服務器進行的,所以這可能會導致一些胃灼熱,除非您之前已經解決了這個問題。您可以閱讀詳細的知識庫文章KB926642 & KB896861。這是如何解決問題的簡要說明。我通常禁用回送檢查,但不建議在生產服務器環境中使用。

方法1:禁用驗證環回檢查 重新啓用通過設置HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa註冊表子項1.要設置DisableLoopbackCheck註冊表項爲1的DisableLoopbackCheck註冊表項,在Windows Server 2003中存在的問題,請按照下列步驟操作在客戶端計算機上:

  1. 單擊開始,單擊運行,鍵入regedit,然後單擊確定。
  2. 找到並單擊下面的註冊表子項:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. 右鍵單擊Lsa,指向「新建」,然後單擊「DWORD值」。
  4. 類型DisableLoopbackCheck,然後按ENTER鍵。
  5. 用鼠標右鍵單擊DisableLoopbackCheck,然後單擊修改。
  6. 在數值數據框中,鍵入1,然後單擊確定。
  7. 退出註冊表編輯器。
  8. 重新啓動計算機。 注意您必須重新啓動服務器以使此更改生效。默認情況下,在Windows Server 2003 SP1中啓用了回送檢查功能,並且DisableLoopbackCheck註冊表項設置爲0(零)。當您禁用身份驗證回送檢查時,安全性會降低,並且您在NTLM上爲中間人(MITM)攻擊打開Windows Server 2003服務器。

方法2:創建一個可以在NTLM身份驗證請求 爲此引用本地安全機構主機名,請按照下列步驟爲客戶端計算機上的所有節點:

  1. 單擊開始,單擊運行,鍵入regedit,然後單擊確定。
  2. 找到並單擊下面的註冊表子項:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  3. 用鼠標右鍵單擊MSV1_0,指向新建,然後再單擊多字符串值。
  4. 在名稱列中,鍵入BackConnectionHostNames,然後按Enter。
  5. 用鼠標右鍵單擊BackConnectionHostNames,然後單擊修改。
  6. 在數值數據框中,鍵入用於計算機上本地共享的CNAME或DNS別名,然後單擊確定。

注意在單獨的行上鍵入每個主機名。

注意如果BackConnectionHostNames註冊表項存在爲REG_DWORD類型,則必須刪除BackConnectionHostNames註冊表項。 7.退出註冊表編輯器,然後重新啓動計算機。

來自:http://blogs.bluethreadinc.com/thellebuyck/archive/2008/10/30/401.1-error-when-accessing-sharepoint-from-server.aspx於2009年6月5日

相關問題