2009-03-24 3 views
2

私は自分のアプリケーションで発生しているエラーを処理するtry catchブロックを持っています。私は、状態コード403への応答を設定したり、禁止したり、ユーザーをログインページやカスタムエラーページにリダイレクトする簡単な方法をお勧めします。応答ステータスコードを手動で設定する

ステータスコードとリダイレクトを設定する際に問題が発生します。誰でもステータスコードを設定してからリダイレクトする例がありますか?

答えて

6
Response.Status = "403 Forbidden"; 
Response.Addheader("Location", "http://stackoverflow.com/"); 

これはC#で書かれていますが、コンセプトはほとんどの言語でほぼ同じでなければなりません。

+0

ローカルで実行しようとすると次のようになります。 この操作には、IIS統合パイプラインモードが必要です。 – JPJedi

+0

Response.Headers.AddまたはResponse.AddHeaderを使用していますか?また、Context.Response.AddHeaderに変更することもできます。 – Brandon

+0

ログインページにリダイレクトされたときにリクエストを閉じる必要はありませんか? – JPJedi

1

重複:What should the HTTP response be when the resource is forbidden but there’s an alternate resource?

のみ3XX(リダイレクト)または201作成応答のために意図されLocation headerを送信します。 ほとんどのクライアントで動作するかもしれませんが、HTTPがどのように設計されたかはわかりません。

実際に正しいステータスコードがあり、HTTP仕様 に従っている場合は、303とその他の回答をしたり、HTTP authenticationを使用してください。

関連する問題