Estoy usando un ActionFilter para determinar si un usuario tiene acceso a un recurso específico como un objeto Account (a la Rhino Security) antes de iniciar una acción. Se trata de un filtro global que redirige a una página de error si el valor de autorización fallaráASP.NET MVC ActionFilter - Determine si AJAX Request
estoy usando el siguiente código, que funciona bien para las solicitudes de página completa:
filterContext.Controller.TempData["ErrorMessage"] = string.Format("You are not authorized to perform operation: {0}", operation);
filterContext.Result = new RedirectResult("~/Error/AuthorizationError");
peticiones Ajax que no quiero a aplicar una redirección, sino devolver un mensaje de error. ¿Hay alguna manera de decir dentro del filtro de acción si se trata de una solicitud AJAX o una solicitud de página completa normal (lo siento no estoy seguro de la terminología correcta)?
Gracias de antemano
JP
Esto parece exactamente lo que estamos tratando de hacer. Pero ... por alguna razón, esa condición 'filterContext.HttpContext.Request.IsAjaxRequest()' no vuelve verdadera cuando se trata de una solicitud AJAX. Además ... ¿cómo redirigirías al usuario a una nueva página desde una solicitud de Ajax? – Aarmora
@Aarmora - Curioso, ¿alguna vez resolvió su problema? – bubbleking
@bubbleking Ojalá tuviera una buena respuesta para usted. Ni siquiera puedo recordar qué página estábamos intentando con esto. Lo siento :( – Aarmora