ActionFilterAttributeを使用して、ログインしていないユーザーをリダイレクトしようとしています。リダイレクトは機能していますが、最初にすべてのActionResultコードを呼び出します。
なぜそれが真の旗を尊重せず、応答を終了しないのかについてのアイデアはありますか?
HttpContext.Current.Response.Redirect("~/Logon",true);
これが私のActionResultです:
[RequireLoggedIn]
public ActionResult Create()
{
return View(_MessageService.GetAllMessageCategories());
}
これは私の属性です:
public class RequireLoggedIn : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (Membership.GetUser() == null)
{
//Not logged in so back to the logon page.
HttpContext.Current.Response.Redirect("~/Logon",true);
HttpContext.Current.Response.End();
}
}
}