2010年5月6日木曜日

カスタムActionFilter その3

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

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

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

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

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

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

0 件のコメント:

コメントを投稿