HttpStatusCodeResult (401) возвращает «302 найдено»
Используя ASP.NET MVC 5, я хотел бы вернуть соответствующий код состояния HTTP для различных сценариев (401 для пользователя не аутентифицирован, 403 для пользователя нет прав на какой-либо ресурс и т. Д.), Чем обрабатывать их в jQuery.
Но проблема в том, что когда я пытаюсь вернуть 401, он всегда возвращается "302: найдено ", Какова хитрость для пользовательского кода состояния, и почему это не 'т работаешь?
public ActionResult My()
{
if (User.Identity.IsAuthenticated == false)
{
return new HttpStatusCodeResult(401, "User is not authenticated.");
// Returns "302: Found"
}
// ... other code ...
}
РЕДАКТИРОВАТЬ 1: Интересный бит:
Если я заменю 401 на 404, как это:
return new HttpNotFoundResult("User is not authenticated.");
Тогда это действительно дает 404, и jQuery может поймать проблему. Однако это 'Это не элегантное решение, так как код ошибки другой.
РЕДАКТИРОВАТЬ 2: 302 не подходит для меня, так как результат будет использован вjQuery.get().fail()
, но 302 выигралт тригерfail()