-
401錯誤
鎖定
- 中文名
- 401錯誤
- 外文名
- 401 error
- 症 狀
- HTTP 錯誤 401.1 - 未經授權
- 原 因
- 關閉了匿名身份驗證
- 解決方法
- 添加IIS匿名用户
401錯誤出現場景
401錯誤401.1
如果頁面不能顯示,並且報HTTP 401.1錯誤,很可能是因為用户沒有權限來執行包含在所訪問的頁面中的ASP.NET代碼。此時需要查看IIS的設置,是否將匿名訪問禁用了。查看步驟如下:
(1)打開IIS。
(2)單擊計算機名稱旁的加號,然後右擊【默認網站】,在彈出的快捷菜單中選擇【屬性】命令。
(3)單擊【目錄安全性】標籤,並單擊【編輯】按鈕。
(4)此時在【身份驗證方法】對話框中會出現一個【匿名訪問】複選框,選中此複選框。
401錯誤401.2
HTTP錯誤401.2-未經授權:訪問由於服務器配置被拒絕。這是因為關閉了匿名身份驗證。
401錯誤401.3
IIS匿名用户一般屬於 Guests組,而我們一般把存放網站的硬盤的權限只分配給administrators組,這時候按照繼承原則,網站文件夾也只有 administrators組的成員才能訪問,導致IIS匿名用户訪問該文件的NTFS權限不足,從而導致頁面無法訪問
[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 中發生的錯誤。