я вывел из класса AuthorizeAttribute и сделал свой собственный CustomAuthorizeПользовательские [Авторизоваться] фильтр для Ajax Jquery просит
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);
}
}
Есть так много мест, где я использую Ajax Jquery вызов и он не выглядит практичным, чтобы проверить ответ на каждый из тех, а затем сделать
window.location.href='/Auth/login';
Я просто интересно, можем ли мы перенаправить на страницу входа в систему из метода HandleUnauthorizedRequest?
Нельзя добавить базовый контроллер сейчас, поскольку для этого потребуется массивный рефакторинг. Есть ли другое решение? Не может ли это быть перенаправлено из метода HandleUnauthorizedRequest? – InTheWorldOfCodingApplications