2017-04-07 8 views
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を見ていますが、何も見つかりませんでした。私はまた、例外を処理するカスタムミドルウェアを作成しないようにしようとしています。

+0

あなたのアプリで認証/承認には何を使用していますか? Identityを使用する場合は、Authorize属性を使用するときにこれが処理されます。 –

+0

'UseExceptionHandler'は、' ExceptionHandlingPath'についてのみ考えています(ソースコードで確認できます)。カスタムミドルウェアを使用するだけで簡単です。 –

+0

@ R.Richards私たちは、OpenID接続を使用する外部認証プロバイダを持っています。したがって、この外部プロバイダーによってユーザーが認証されると、アプリケーションはユーザーがアプリケーションデータベースを持っているかどうかをチェックし、そうでない場合は例外をスローします。このような場合、許可されていないページにユーザーをリダイレクトする必要があります – LP13

答えて

0

exception handling using the middlewareアプローチについては別の説明がありました。あなたが見ているものはリダイレクト/ルートアプローチですが、フィルタ/属性/グローバル例外などの他のアプローチがあります

関連する問題