ASP.NET設置自定義401錯誤頁麵方法詳解
用瀏覽器訪問服(fú)務器時,不同情況下會返回不同的信息。服務器發生錯誤就會返回錯(cuò)誤信息,我們最(zuì)熟(shú)悉的就(jiù)是404錯誤頁麵,但(dàn)是這裏我想(xiǎng)和大家分享下asp.net條件下怎樣設置401自定義錯誤頁麵。
談到401錯誤(wù),雖然(rán)沒有404錯誤(wù)那麽被(bèi)大家所熟知,但是對服務器有所了解的人都知道,http錯誤代(dài)碼的含義,"401" : Unauthorized,而如果細分下就(jiù)是如下:
HTTP 401.1 - 未授權:登錄失敗
HTTP 401.2 - 未授權:服務器配置問(wèn)題導致(zhì)登錄失敗
HTTP 401.3 - ACL 禁止訪問資源
HTTP 401.4 - 未授權:授權被篩選器拒絕
HTTP 401.5 - 未授權:ISAPI 或 CGI 授權失敗
我們可以通過ASP.NET配置文件Web.config 來進行設置,用這個(gè)標簽來進行設置,代碼如下:
<customErrors defaultRedirect="ErrorPage.aspx" mode="On">
<error statusCode="401" redirect="AccessDenied.aspx" />
</customErrors>
請一(yī)定要確保這些錯誤頁麵的訪問,此外,如果你有
<authorization>
<deny users="?" />
</authorization>
在你的驗證裏麵(miàn),然後你必須把(bǎ)這些錯誤頁麵放到(dào)一個單(dān)獨的文件(jiàn)夾裏麵,然後添加一個ASP.NET配置文件Web.config,加入下麵一段代碼:
<authorization>
<allow users="*" />
</authorization>
如果您使用(yòng)窗體身(shēn)份驗證(zhèng),那(nà)麽有幾種方法可以做到這一點。最簡單的方法(fǎ)是處理所有的(de)人都能在到達另外(wài)一個文件夾中(zhōng)的(de)一切不安全的頁麵(登錄頁麵,錯誤(wù)頁麵,修改(gǎi)密碼)。名稱為(wéi)“InSecured”或其它(tā)名稱,然後在該文件夾中添加一個(gè)web.config文件到該文件(jiàn)夾中,並把(bǎ)下列(liè)代碼(mǎ):
<authorization>
<allow users="*" />
</authorization>
添加在最底層的web.config文件中,其它(tā)文件夾和頁麵裏則添(tiān)加下(xià)麵這段代碼:
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
以上就是(shì)如何設置(zhì)自行定義401錯誤頁麵的方法,不過這(zhè)裏要說明的是的(de)作用是為ASP.NET應用程序(xù)提(tí)供有關自定(dìng)義錯誤信息的(de)信息。它不(bú)適用於 XML Web services 中發生的錯誤。
關鍵詞:401錯誤頁麵
閱讀本文後您有(yǒu)什麽感想? 已(yǐ)有 人(rén)給出(chū)評價(jià)!
- 0
- 1
- 1
- 1
- 29
- 1