2013-03-12 133 views
5

我有一個Web服務器,有兩個網站:a & b。
一個是生產。IIS Windows身份驗證奇怪

b正在測試/分期。

誰寫這些應用我依靠

Request.ServerVariables("LOGON_USER") 
當用戶驗證通過對Windows身份驗證的服務器被分配

之前。在這一點上,這很好,在b有一些奇怪:

我得到我的登錄提示,但我不能使用[域名] \ myusername登錄,我可以用\\ myusername做到這一點,雖然,相同的密碼AD基礎)。據我所知,IIS配置是相同的,唯一的不一致是從a.domain.com指向b.domain.com的DNS CNAME。改變DNS記錄指向IP解決了這個問題,但我試圖理解發生了什麼。

上的DNS記錄:b.domain.com > a.domain.com

工作的DNS記錄:b.domain.com > 10.0.x.131

應該一直B> A>常規的Windows身份驗證,但由於某些原因,我發現自己使用\\,它是在套結域名兩次或什麼?關於認證的究竟是\\ \ \ \

有意義嗎?

回答

0

一些想法。

  • 哪個特定版本的操作系統是您的服務器正在運行?微軟尤其傾向於在不同版本中有不同的行爲,並且文檔是特定於版本的

  • 由於無法確定什麼是正確的,因此很難回答「發生了什麼」的問題。我可以拋出假設(並且會),如果你能夠將問題稱爲「我該如何解決這個問題」而不是「發生了什麼」,你可以檢查我是否正確並回應,可能已經獲得了一點一路上有更多相關數據。

  • 這聽起來好像是深層次的系統管理理解,而不是編程理解 - 如果你在這裏沒有得到你需要的東西,你可能會在serverfault上有更好的運氣。

有人說過,在沒有其他信息的情況下,「\」最可能由兩件事中的一件產生。

有可能您有兩個不同的代碼部分,每個部分都添加一個'\'。域名在很多情況下都適用於有和沒有尾隨的'\'。因此,Windows身份驗證很有可能在域名之後和登錄ID之前立即添加一個,以確保兩者之間的分離。如果您的DNS CNAME查找由於類似原因自動在域名末尾添加一個,則這兩者可能會堆疊。

有可能在域名解析過程中某個地方可能已經通過轉換器將控制字符轉換爲轉義字符(作爲避免某些安全漏洞的一種方式)。 '\'被用作這種轉義字符的基礎,因此需要它自己的轉義字符('\')。

+0

它實際上是\\開始使用的默認Windows身份驗證提示。我在想DNS的入口是混淆了IIS的主機頭,我只是想知道爲什麼它會這樣混淆,我不相信DNS應該有任何作用。通過張貼這個我更希望有人已經遇到過,即\\部分。 \\通常是一種逃避,但\本身也不起作用。 – RandomUs1r 2013-03-20 15:37:54

+0

如果您可以回答您正在使用哪個操作系統的問題,那麼我可能會進一步提供幫助。 – 2013-03-20 16:22:35

+0

這是運行帶有三個網站的IIS 6的Windows Server 2003服務器:默認,webapps和webstage。 – RandomUs1r 2013-03-20 17:34:52