2010年5月6日木曜日

カスタムActionFilter その3

数ヶ月前にカスタムActionFilterの解説をしたが、今回はその補足を。

前回解説したものはAuthorizeAttributeから派生し、認証していないリクエストを他のURLへリダイレクトするというものだった。そのリダイレクトする箇所のコードは下記の通り。

string loginUrl = RedirectUrl();  
filterContext.HttpContext  
 .Response.Redirect(loginUrl, true);  

が、ASP.NET MVC 2にアップグレードしたら上記のコードが期待通りに動作しなくなったのでGoogleした結果、下記のように書き換える必要があった。

string loginUrl = RedirectUrl();  
filterContext.Result = new RedirectResult(loginUrl);

これで期待通りに指定のURLへリダイレクトされるはずだ。

0 件のコメント:

コメントを投稿