我正在使用一个 ActionFilter 来确定用户是否有访问特定资源(例如 Account 对象,类似于 Rhino Security)的权限,然后再执行操作。这是一个全局过滤器,如果授权值失败,则会重定向到错误页面。
我正在使用以下代码,对于完整页面请求工作正常:
filterContext.Controller.TempData["ErrorMessage"] = string.Format("You are not authorized to perform operation: {0}", operation);
filterContext.Result = new RedirectResult("~/Error/AuthorizationError");
我不想对Ajax请求进行重定向,而是想返回一个错误消息。有没有一种方法可以在操作过滤器内判断这是否为Ajax请求或者是一个常规的完整页面(抱歉,我不确定术语的正确性)请求?
提前感谢。
JP
filterContext.HttpContext.Request.IsAjaxRequest()
没有返回 true。另外...你如何从一个 AJAX 请求中将用户重定向到一个新页面? - Aarmora