クライアントに HTTP 403 エラー コードをスローしようとしています。私は HttpException がこれを達成するための最もクリーンな方法であることを読みましたが、それは私にとってはうまくいきません。次のようなページ内から例外をスローします。
throw new HttpException(403,"You must be logged in to access this resource.");
ただし、CustomErrors がオフの場合、これは標準の ASP.Net スタック トレース (500 エラーあり) のみを提供します。CustomErrors がオンの場合、403 エラーが発生したときに表示されるように設定したページにリダイレクトされません。HttpException を忘れて、代わりにすべての HTTP コードを自分で設定する必要がありますか? これを修正するにはどうすればよいですか?
私の Web.Config のカスタム エラー部分は次のとおりです。
<customErrors mode="On" defaultRedirect="GenericErrorPage.html">
<error statusCode="403" redirect="Forbidden.html" />
</customErrors>
Forbidden.html を取得する代わりに、GenericErrorPage.html を取得します。