Ich habe von AuthorizeAttribute Klasse abgeleitet und machte meine eigenen CustomAuthorizeCustom [autorisieren] Filter für Ajax JQuery fordert
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if (filterContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.HttpContext.Response.StatusCode = 401;
filterContext.Result = new JsonResult
{
Data = new DataSourceResult { Errors = new { error = "NotAuthorized" } }
,JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
else
{
// this is a standard request, let parent filter to handle it
base.HandleUnauthorizedRequest(filterContext);
}
}
Es gibt so viele Orte, an denen ich Ajax JQuery Anruf verwende und es sieht nicht praktisch zu überprüfen Antwort in jedem von denen, und tun dann
window.location.href='/Auth/login';
ich frage mich nur, können wir umleiten Seite von HandleUnauthorizedRequest Methode anmelden?
Es kann jetzt kein Basiscontroller hinzugefügt werden, da dies ein massives Refactoring erfordern würde. Gibt es eine andere Lösung? Kann dies nicht von der HandleUnauthorizedRequest-Methode umgeleitet werden? – InTheWorldOfCodingApplications