複製鏈接
請複製以下鏈接發送給好友

401錯誤

鎖定
HTTP401錯誤代表用户沒有訪問權限,需要進行身份認證。與這個錯誤一同返回的還有認證使用的方式(Basic或者Digest)和認證時使用的字段(realm)名稱。在這兩種認證方式中,Basic認證方式使用的密碼沒有經過加密,直接在網絡中傳輸;Digest方式使用加密的密碼,這種方法更加安全,但是技術還不成熟,不能使用。字段名稱描述被保護資源的基本信息,並能夠幫助用户記住他使用的用户名/密碼對 [1] 
瀏覽器接收到401錯誤信息之後,進行解釋,提供一個對話框用於輸入用户名/密碼。在完成之後送交服務器。服務器驗證之後,在驗證通過的情況下把請求的資源送給瀏覽器,否則可能再送出401錯誤信息。這個過程可以由程序進行控制。驗證過程最多有三次 [1] 
中文名
401錯誤
外文名
401 error
症    狀
HTTP 錯誤 401.1 - 未經授權
原    因
關閉了匿名身份驗證
解決方法
添加IIS匿名用户

401錯誤出現場景

大多出現在一些需要授權的網頁,表示瀏覽者必須擁有一個該網頁正確的用户名和密碼才能看到對方的網頁 [2] 

401錯誤401.1

如果頁面不能顯示,並且報HTTP 401.1錯誤,很可能是因為用户沒有權限來執行包含在所訪問的頁面中的ASP.NET代碼。此時需要查看IIS的設置,是否將匿名訪問禁用了。查看步驟如下:
(1)打開IIS。
(2)單擊計算機名稱旁的加號,然後右擊【默認網站】,在彈出的快捷菜單中選擇【屬性】命令。
(3)單擊【目錄安全性】標籤,並單擊【編輯】按鈕。
(4)此時在【身份驗證方法】對話框中會出現一個【匿名訪問】複選框,選中此複選框。
修改訪問權限之後再次訪問此頁面,會發現問題已經解決 [3] 
注意:一般自定義IIS默認匿名訪問賬號都屬於組,為了安全,沒有特殊需要,請遵循此規則 [4] 

401錯誤401.2

HTTP錯誤401.2-未經授權:訪問由於服務器配置被拒絕。這是因為關閉了匿名身份驗證。
此時可以運行inetmgr,打開站點屬性目錄安全性→身份驗證和訪問控制→選中“啓用匿名訪問”,輸入用户名,或者點擊“瀏覽”選擇合法的用户,並兩次輸入密碼後確定 [4] 

401錯誤401.3

HTTP錯誤401.3-未經授權:訪問由於ACL對所請求資源的設置被拒絕 [4] 
IIS匿名用户一般屬於 Guests組,而我們一般把存放網站的硬盤的權限只分配給administrators組,這時候按照繼承原則,網站文件夾也只有 administrators組的成員才能訪問,導致IIS匿名用户訪問該文件的NTFS權限不足,從而導致頁面無法訪問 [4] 
此時可以給IIS匿名用户訪問網站文件夾的權限:進入該文件夾的安全選項,添加IIS匿名用户,並賦予相應權限,一般是讀、寫 [4] 

401錯誤自定義

我們可以通過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 中發生的錯誤。
參考資料
  • 1.    郭金鋒,林宇等編著. PHP & MySQL Web網絡編程[M]. 2001 :353頁
  • 2.    怡丹科技工作室編. 電腦上網實用技法大全1360例[M]. 2009 :46頁
  • 3.    靳華編著. 從零開始學ASP.NET[M]. 2010 :18頁
  • 4.    羅亮編著. 2009電腦故障排查實例[M]. 2009 :230頁