アクションのリダイレクトに関連する小さな問題があります。すべてのコントローラーの基本クラスである BaseController クラスの OnActionExecuting のオーバーライドを使用して、ユーザーがサイト内の特定の領域に関する情報にアクセスできないようにしたいと考えています。メソッド本体:
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (Request.IsAuthenticated && (User as Eagle.Security.EaglePrincipal != null) && Session != null && Session["LastKnownGoodArea"] != null && filterContext.ActionDescriptor.ActionName != "InvalidPermission")
{
var currentArea = Principal.CurrentCenter.CODEFORM_CSE;
if (currentArea != Session["LastKnownGoodArea"].ToString())
RedirectToActionPermanent("InvalidPermission", "Account", new { target = 0, redirectURL = null as string });
else
base.OnActionExecuting(filterContext);
}
}
ただし、これは指定されたアクションにリダイレクトされません。私は何を間違っていますか?もしあれば、他にどのようなアプローチをお勧めしますか?
ありがとう、シルヴィウ