文章編號: 871179 - 上次校閱: 2008年4月30日 - 版次: 5.1

您會收到一個"未經授權的 HTTP 錯誤 401.1-: 因為無效的認證,拒絕存取 」 當您嘗試存取是 IIS 6.0 應用程式集區的一部分的 Web 網站時,出現錯誤訊息

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

想存取 Microsoft 網際網路資訊服務 (IIS) 6.0 Web 站台設定為使用整合式 Windows 驗證只時系統會提示您輸入您的使用者認證。 當想登入會再次收到登入提示。 您嘗試登入三次後您會收到下列錯誤訊息:
未經授權的 HTTP 錯誤 401.1-: 因為無效的認證,拒絕存取。

發生的原因

如果下列情況成立,可能就會發生這種行為:
  • IIS 6.0 網站是 IIS 應用程式集區的一部分。
  • 執行應用程式集區的本機帳戶下] 或 [網域使用者帳戶。
  • Web 站台設定為使用只整合式 Windows 驗證。
在這種情況下當整合式 Windows 驗證嘗試使用 Kerberos 時, 可能無法運作 Kerberos 驗證。 若要用以 Kerberos 驗證服務必須於 Active Directory 目錄服務下執行服務的帳戶下註冊其服務主要名稱 (SPN)。 預設情況下,Active Directory 登錄網路基本輸入/輸出系統 (NetBIOS) 的電腦名稱。使用中目錄也允許網路服務或本機系統帳戶使用 Kerberos 的。

解決方案

如果本機的帳戶下執行應用程式集區,就會發生此問題,依照 < 其他可行方案 > 一節。

若要解決這種行為,在網域使用者帳戶下執行應用程式集區,設定 NetBIOS 名稱與完整格式的網域名稱 (FQDN) 之網域使用者帳戶下執行應用程式集區的 HTTP SPN。 如果要執行此動作請在網域控制站上依照下列步驟執行:

重要 服務的 SPN 只能有一個帳戶相關聯。 因此,如果您使用 [這個建議的解析度不同的網域使用者帳戶下執行的任何其他應用程式資料庫不能搭配只整合式 Windows 驗證。
  1. 安裝 Setspn.exe 工具。 若要取得 Microsoft Windows 2000 版本的工具,請造訪下列 Microsoft 網站]:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en)
    Setspn.exe 工具取得 Microsoft Windows Server 2003 中,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項在下列文件:
    970536? (http://support.microsoft.com/kb/970536/ ) Windows Server 2003 的 Setspn.exe 支援工具更新
  2. 啟動命令提示字元,然後再變更到 Setspn.exe 的安裝位置的目錄。
  3. 在命令提示字元下輸入下列命令。在每一行命令後按下 ENTER:
    setspn.exe-S http / IIS_computer's_NetBIOS_name DomainName \ UserName

    setspn.exe-S http / IIS_computer's_FQDN DomainName \ UserName
    附註UserName 是下執行應用程式集區使用者帳戶。同時也請注意,如果您在 Windows 2000 電腦而不是-S 參數的使用-A 參數上執行 setspn.exe 命令。
網域使用者帳戶下執行應用程式集區設定的 HTTP 服務 SPN 之後,您可以成功連線至 Web 站台而不提示輸入使用者認證。

其他可行方案

如果要解決這個問題,如果您有多個不同的網域使用者帳戶下執行的應用程式集區,您必須強制 IIS 做為驗證機制使用 NTLM,如果您想要使用只整合式 Windows 驗證。 如果要執行此動作請在執行 IIS 的伺服器上依照下列步驟執行:
  1. 啟動命令提示字元。
  2. 找出並變更至包含 Adsutil.vbs 檔案的目錄。在預設的情況下,此目錄是 C:\Inetpub\Adminscripts。
  3. 輸入下列命令並按下 ENTER:
    cscript adsutil.vbs 設定 w3svc/NTAuthenticationProviders NTLM"
  4. 若要確認設定 NtAuthenticationProviders Metabase 屬性為 NTLM,輸入下列命令並按下 ENTER:
    cscript adsutil.vbs 取得 w3svc/NTAuthenticationProviders
    應該會傳回下列文字:
    NTAuthenticationProviders       : (STRING) "NTLM"

狀況說明

這種行為是經過設計規劃的。

其他相關資訊

如果您只執行 IIS 的伺服器的 FQDN] 中設定 SPN 您會提示您提供使用者認證 30 分鐘後。 在 30 分鐘逾時時間發生的原因,是因為 Internet Explorer 會快取網域名稱系統 (DNS) 資訊的方式。 30 分鐘後 Internet Explorer 會還原成 NetBIOS 名稱。 因此,您必須確定您也可以使用執行以避免提示輸入使用者認證的 IIS 伺服器的 NetBIOS 名稱註冊 SPN。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
263558? (http://support.microsoft.com/kb/263558/ ) Internet Explorer 如何使用快取的 DNS 主機項目
若要確認下執行應用程式集區之使用者帳戶已註冊的 SPN,啟動命令提示字元,輸入下列命令從 Setspn.exe 的安裝位置的目錄並按下 ENTER:
setspn.exe-l UserName
傳回已註冊的 SPN,為使用者帳戶的清單。

網際網路資訊服務 (IIS) 7.0

如果其中一種下列條件,則為 True,本文中討論的主題也可以套用至 IIS 7.0:
  • 已停用核心模式驗證。
  • 啟用核心模式驗證且 useAppPoolCredentials 屬性設定為 TRUE。

?考

如需關於 IIS 應用程式集區中使用整合式 Windows 驗證的詳細資訊,請造訪 「 工作者處理序識別限制與 Kerberos 」 一節的下列 Microsoft 網站:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx (http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx)
如需有關驗證失敗或在 IIS 中的存取控制失敗的詳細資訊,您可以下載驗證及存取控制診斷 1.0。下列檔案是可以從 Microsoft 下載中心 」 下載:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en)
附註 AuthDiag 工具是設計用來協助您,當您看到下列錯誤訊息之一:
  • 401.1 登入失敗
  • 401.3 ACL
AuthDiag 工具也可以協助您遇到 Kerberos 問題時。

這篇文章中的資訊適用於:
  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services 7.0
關鍵字:?
kbmt kbtshoot kbprb KB871179 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:871179? (http://support.microsoft.com/kb/871179/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。