0
我有asp.net核心應用程序。爲了處理我使用的擴展方法的一個例外,從Microsoft.AspNetCore.Diagnostics
處理asp.net核心中某些異常類型的異常?
app.UseExceptionHandler("/Home/Error");
所以發生錯誤時用戶被重定向到錯誤頁面。
我想知道如何根據異常類型將用戶重定向到某個頁面?像
if(exception is NotAuthorizedException)
{
// redirect to "Home/NotAuthrozied"
}
else
{
// redirect to "Home/Error"
}
我該如何處理app.UseExceptionHandler()
方法?
我已經看了here,但沒有找到任何東西。我也試圖避免創建自定義中間件來處理異常。
好奇,你在你的應用中使用什麼進行認證/授權?如果您使用Identity,那麼在使用Authorize屬性時將爲您處理此問題。 –
正如你可能看到'UseExceptionHandler'只考慮'ExceptionHandlingPath'(你可以在它的源代碼中檢查它)。所以只需使用自定義中間件,這非常簡單。 –
@ R.Richards我們有使用OpenID連接的外部身份驗證提供程序。所以當用戶通過這個外部提供程序進行身份驗證時,應用程序還會檢查用戶是否存在應用程序數據庫,如果不存在則拋出異常。在這種情況下,我需要將用戶重定向到未經授權的頁面 – LP13