C#と諸々

C#がメインで他もまぁ諸々なブログです
おかしなこと書いてたら指摘してくれると嬉しいです(´・∀・`)
つーかコメント欲しい(´・ω・`)

2007/10/24 01:21
クッキーレスで Forms 認証を使用している場合、FormsAuthentication.SignOut メソッド が内部でログインページへのリダイレクト処理を行うんですよ。で、リダイレクトされるのは不都合だったので、こうなったらリダイレクトをキャンセルするか、という結論に至りました。

リダイレクトをキャンセルするには、レスポンスの出力バッファをクリアして、HTTP ステータスコードに OK ( 200 ) を設定します。

HttpContext context = HttpContext.Current;
context.Response.ClearContent();
context.Response.RedirectLocation = null;
const int HTTP_STATUS_OK = 200;
context.Response.StatusCode = HTTP_STATUS_OK;



RedirectLocation プロパティは別にいじらなくてもいいんですが、どうせだから null にしちゃってます。

[ 参考 ]
HttpResponse.StatusCode プロパティ (System.Web)
HTTP Status Codes (Windows)
タグ: .NET C# ASP.NET











トラックバックURL↓
http://csharper.blog57.fc2.com/tb.php/172-8d422600