【茶包射手專欄】WSS敲不完的帳號密碼

新裝了一台WSS主機,建了一些每天申報伺服器運作狀況的清單應用,交給User測試,卻發現User在使用時,輸入網域帳號密碼登入網頁後,操作幾下就會一直跳出帳號密碼登入對話框,即使輸入正確的帳號密碼也不管用,但有時連按十幾下又會成功。換了隔壁同事的主機也是如此,User被這種靈異現象搞到痛不欲生,但說也奇怪,用我的機器測試,卻總是一路順暢。

被這個詭異現象糾纏了一兩個星期,每天早上都要陪著User按個數十下登入確定鈕,等它老爺心情好給放行,不勝其擾。偏偏使用者用網域身份登入其他網站又都無異狀,問題出在哪,我毫無頭緒...

今天痛下決心要把鬼抓出來,由IIS Log看來,使用者似乎沒有通過IIS認證,用Process Monitor檢查,證實了這一點。試著連上_themes下的某個JPG,在不斷跳出登入視窗的當下,並沒有存取圖檔的記錄,顯示問題在IIS層次而非ASP.NET層次,而Request一開始就死在驗證失敗,未到後面的階段。

IIS Log上很難進一步了解身份認證過程的細節,我想到了另一件神奇兵刃--Fiddler 2。比對正常Client與異常Client的存取過程,我發現了一件有趣的事實: 正常Client透過NTLM進行驗證,而異常Client則用的是Kerberos(二者觀察上的差異可以參考這裡) 。

啊! 會出問題的Client機器均有加入WSS所在的AD Domain,換言之,Client與IIS位處於同一個Domain中;而我的機器則隸屬另一個Domain,大概就是如此造成Kerberos vs NTLM的差別。

問題既已分明,那就強迫用NTLM好了,我Google到這篇文章。由文中的細節,我推測Kerberos會失敗可能與WSS並非用Domain Account身份執行有關,但因為一些因素,暫不打算改變WSS的執行身份,於是我用以下的方法停用了Kerberos:

C:\Inetpub\AdminScripts>cscript adsutil.vbs GET W3SVC/1/Root/NTAuthenticationPro
viders

Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

NTAuthenticationProviders       : (STRING) "Negotiate,NTLM"

C:\Inetpub\AdminScripts>cscript adsutil.vbs SET W3SVC/1/Root/NTAuthenticationPro
viders NTLM

Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

NTAuthenticationProviders       : (STRING) "NTLM"

終於從惱人的登入對話框地獄解脫了...

歡迎推文分享:
Published 30 October 2008 07:22 AM 由 Jeffrey
Views: 14,713



意見

# ARCH said on 31 March, 2009 08:56 PM

您真是太強了, 在建立DMZ的網站 (是相同網域不同網段), 也出現一樣問題, 用上述解法成功了, 謝謝^_^

# 艾里克斯 said on 26 October, 2010 02:56 AM

Dear Sir:

我有"類似"的問題,在我們家的 Sharepoint 2010 會時好時壞,看過 Windows Authentication Providor 設定也都是設 NTLM, 所有 Client 也都在相同的 Domain, 但就是有些人會遇到輸不盡的帳密,真是詭異到極點呀...T_T

# Jeffrey said on 26 October, 2010 05:46 AM

to 艾里克斯, 有沒有可能問題出在Client的時間不準? (http://goo.gl/sj6p ) 這應該也是可以優先檢查的項目。

# Alexsuper said on 08 November, 2010 01:49 AM

Dear Jeffrey:

在我們公司內部有 Time Server 同步全公司的 PC 時間, 所以應不是這個問題, 目前已知的是大部份(也許是全部@@")是使用 ie8 才會遇到, 現有的解法是 down grade 成 ie7 暫時處理掉, 但感覺上好像不是正解呀...T_T

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<October 2008>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication