2012-03-14 83 views
1

我剛剛開始學習ASP.NET。我打開了一個默認的ASP.NET應用程序,並更改了web.config文件以啓用Windows身份驗證。在IIS 7.5中未啓用Windows身份驗證

<authentication mode="Windows"> 
</authentication> 

當我使用asp.net開發服務器從VS運行,它能夠檢測到我的Windows登錄並顯示它。 我試圖將它發佈到同一臺PC上的IIS服務器7.5並從那裏運行。現在我的Windows登錄沒有被檢測到。 我已經從IIS中的身份驗證功能啓用了Windows身份驗證。 在這種情況下我可能會錯過什麼?

謝謝..

+0

您需要在IIS中設置您的站點以使用Windows身份驗證:http://technet.microsoft.com/en-us/library/cc754628(v=ws.10 ).aspx – 2012-03-14 13:36:00

回答

4

嘗試在IIS 7.5中爲該網站禁用匿名身份驗證。

  • 打開IIS控制檯。
  • 選擇網站。
  • 雙擊「身份驗證」
  • 確保「匿名身份驗證」已禁用

只有「Windows身份驗證」應該爲你的目的實現。

這部作品的原因是,瀏覽器會以匿名方式進行的第一次請求。如果啓用匿名身份驗證,則此請求將成功,因此Web服務器將不知道您是誰。

如果您使用像Fiddler這樣的工具來檢查您和服務器之間的網絡流量,您將注意到,如果Windows身份驗證是唯一配置的方法,您實際上會獲得3個請求。請求得到以下回應:

  • 請求1:「請允許我匿名登錄?」
  • 迴應1:「NO !!!」 [HTTP狀態代碼401]
  • 請求2:「好的,你支持什麼?」
  • 響應2: 「我支持Windows身份驗證」[HTTP狀態碼401]
  • 請求3: 「好了 - 這是我的Windows令牌」
  • 迴應3:「嗨,RB,這裏是你的網頁「[HTTP狀態代碼200]
+0

工作正常!我不明白這是如何改變的? – Manoj 2012-03-14 13:42:28

+0

@Manoj - 我已經更新了我的答案,並說明了它有所作爲的原因。 – 2012-03-14 13:49:02

+0

能看到小提琴手中的相關數據包!感謝您的詳細解答! – Manoj 2012-03-14 13:58:54

相關問題