概述
您的Web伺服器認為,客戶端(例如您的瀏覽器或我們的 CheckUpDown 機器人)傳送的 HTTP 數據流是正確的,但進入網址 (URL) 資源 , 需要用戶身份驗證 , 而相關信息 1 )尚未被提供, 或 2 )已提供但沒有通過授權測試。這就是通常所知的“ HTTP 基本驗證 ”。 需客戶端提供的驗證請求在 HTTP 協定中被定義為 WWW – 驗證標頭欄位 (WWW-Authenticate header field) 。
401.1
症狀
HTTP 錯誤 401.1 - 未經授權:訪問由於憑據無效被拒絕。
分析
由於用戶匿名訪問使用的賬號(默認是IUSR_機器名)被禁用,或者沒有許可權訪問計算機,將造成用戶無法訪問。
解決方案
(1)查看IIS管理器中站點安全設定的匿名帳戶是否被禁用,如果是,請嘗試用以下辦法啟用:
控制臺->管理工具->計算機管理->本地用戶和組,將IUSR_機器名賬號啟用。如果還沒有解決,請繼續下一步。
(2)查看本地安全策略中,IIS管理器中站點的默認匿名訪問帳號或者其所屬的組是否有通過網路訪問伺服器的許可權,如果沒有嘗試用以下步驟賦予許可權:
開始->程式->管理工具->本地安全策略->安全策略->本地策略->用戶許可權分配,雙擊“從網路訪問此計算機”,添加IIS默認用戶或者其所屬的組。
注意:一般自定義 IIS默認匿名訪問帳號都屬於組,為了安全,沒有特殊需要,請遵循此規則。
401.2
症狀
HTTP 錯誤 401.2 - 未經授權:訪問由於伺服器配置被拒絕。
原因
關閉了匿名身份驗證
解決方案
運行inetmgr,打開站點屬性->目錄安全性->身份驗證和訪問控制->選中“啟用匿名訪問”,輸入用戶名,或者點擊“瀏覽”選擇合法的用戶,並兩次輸入密碼後確定。
401.3
症狀
HTTP 錯誤 401.3 - 未經授權:訪問由於 ACL 對所請求資源的設定被拒絕。
原因
IIS匿名用戶一般屬於Guests組,而我們一般把存放網站的硬碟的許可權只分配給administrators組,這時候按照繼承原則,網站資料夾也只有administrators組的成員才能訪問,導致IIS匿名用戶訪問該檔案的NTFS許可權不足,從而導致頁面無法訪問。
解決方案
給IIS匿名用戶訪問網站資料夾的許可權,方法:進入該資料夾的安全選項,添加IIS匿名用戶,並賦予相應許可權,一般是讀、寫。
1-很多朋友都碰到這個問題,其實,這是Web伺服器未分配給瀏覽者足夠的許可權造成的,實際上出現這種情況與瀏覽者的計算機無關,瀏覽網頁的用戶也無權處理該問題,只有網站管理員才能解決該問題,當網頁伺服器瀏覽許可權分配給了某帳號,但該帳號在網頁伺服器中未進行合理的許可權分配,就會導致用戶在瀏覽網頁時提示“您未被授權查看該頁”;
2-開始進入伺服器解決,右鍵單擊我們伺服器的桌面“我的電腦”--“管理(G)”;
3-在我們伺服器的“計算機管理”左側,依次打開“服務和應用程式”--“Internet信息服務(IIS)”--“網站”;
4-在右框線內,右鍵單擊要修復解決問題的網站,再單擊“許可權(I)”;
5-彈出“安全”對話框後,選擇用戶組名稱“Ueser”這條,再下面“Ueser的許可權”勾選“修改、讀取和運行、列出資料夾目錄、讀取、寫入”這幾項勾選好;
6-再選擇用戶組名稱“Everyone”,再下面“Ueser的許可權”勾選“修改、讀取和運行、列出資料夾目錄、讀取、寫入”這幾項也全部勾選好,最後單擊確定,重新刷新網頁,一切解決。
自定義
我們可以通過ASP配置檔案Web.config 來進行設定,用這個標籤來進行設定,代碼如下:
<customErrors defaultRedirect="ErrorPage.aspx" mode="On">
<error statusCode="401" redirect="AccessDenied.aspx" />
</customErrors>
請一定要確保這些錯誤頁面的訪問,此外,如果你有
<authorization>
<deny users="?" />
</authorization>
在你的驗證裡面,然後你必須把這些錯誤頁面放到一個單獨的資料夾裡面,然後添加一個ASP配置檔案Web.config,加入下面一段代碼:
<authorization>
<allow users="*" />
</authorization>
如果您使用窗體身份驗證,那么有幾種方法可以做到這一點。最簡單的方法是處理所有的人都能在到達另外一個資料夾中的一切不安全的頁面(登錄頁面,錯誤頁面,修改密碼)。名稱為“InSecured”或其它名稱,然後在該資料夾中添加一個web.config檔案到該資料夾中,並把下列代碼:
<authorization>
<allow users="*" />
</authorization>
添加在最底層的web.config檔案中,其它資料夾和頁面里則添加下面這段代碼:
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
這裡要說明的是的作用是為ASP應用程式提供有關自定義錯誤信息的信息。它不適用於 XML Web services 中發生的錯誤。