2009-01-29 20 views
1

使用Visual Studio內置的Web服務器時,每次發出頁面請求時都會彈出標準登錄框並要求輸入憑據。如果我真的放入我的憑證,它不起作用,所以我只需要取消5次,這樣它就會消失。使用Visual Studio Web服務器運行時的身份驗證對話框

當我通過IIS(本地或在測試服務器上)運行應用程序時,它工作得很好(沒有登錄框出現)。

任何人都知道如何解決這個問題,或者有什麼想法可能會導致它?

+0

你還沒有給我們足夠的信息,以幫助遺憾 – 2009-01-29 23:15:32

回答

0

這是因爲localhost不在我的信任站點,所以它不會做自動NTLM身份驗證......我不知道爲什麼它是這樣的,但它是......將localhost添加到列表中修復它。

1

我假設你的意思是JavaScript提示框外觀登錄對話框,對不對?當您向部分網站發出匿名訪問被禁用的請求時,會彈出此對話框。它與ASP.NET身份驗證不同。

你有保護網站的某些部分嗎?或者你是否向外部網站發送任何HTTP請求,如圖像等?

如果您的網頁在多次點擊取消後看起來不錯,它必須是受保護文件(如圖片,CSS,js或其他)的HTTP請求之一。

我會看看Fiddler或Firebug,以查看當您在該登錄對話框中點擊取消時是否有任何請求失敗。

我也會嘗試清除在IIS上運行的頁面上的緩存/認證會話,看它是否實際顯示了您的登錄對話框。

+0

它發生在所有頁面。在每個應用程序。空白頁甚至(我相信)...我會仔細檢查,當我回來 – 2009-01-29 23:58:26

+0

在每個應用程序?這很奇怪... – 2009-01-30 00:00:12

1

我有這個相同的問題。但是,我的解決方案不同,問題也不同。

我一直在使用VS 2008開發ASP.NET 2.0 Web應用程序。一切工作正常,內置IIS服務器。我沒有打開這個項目大約一週,然後當我在VS中選擇「在瀏覽器中查看」時,我被提示輸入我的Windows登錄信譽。這個項目從來沒有這樣做過,所以我有點困惑。我檢查了所有的web.config設置,一切都很好。我的項目設置看起來也是正確的。我決定通過使用網絡路徑在我的網絡上的一個單獨的開發箱中在VS中打開這個相同的項目來測試該項目。我再次選擇「在瀏覽器中查看」,它工作正常。沒有登錄提示。

這告訴我,這個問題不是與實際的Web項目本身,而是我的開發環境。我按照上面的建議檢查了我所有的瀏覽器設置,它們都是正確的。然後我比較了我的項目設置,同時在兩個開發箱中打開了相同的項目(相同的物理文件)。我注意到一個區別...

在屬性頁中的開始選項下,Web服務器被設置爲在這兩種情況下都使用默認Web服務器。但是,在要求提供我的信用的框中,選中了NTLM身份驗證複選框。我沒有選擇這個,它解決了這個問題。

我不知道這是怎麼可能的,因爲我打開了相同的項目文件,並假設項目設置將完全相同。而且一週前它工作得很好的事實讓我感到困惑。我在這個問題的箱子裏寫了VS 2008的一個問題。我希望這可以幫助任何可能遇到此問題的人。

0

在您的項目中,應該有一個vwd.webinfo文件。

以下行控制調試時的身份驗證(在IISExpress中)。設置如下以避免所有對話。

<VisualWebDeveloper> 
<iisExpressSettings anonymousAuthentication="enabled" windowsAuthentication="disabled" useClassicPipelineMode="false"/> 
</VisualWebDeveloper> 

如果windowsAuthentication="enabled",你還可以得到一個對話框,即使anonymousAuthentication="enabled" :-)