У меня есть приложение со многими действиями ajax (реализовано с использованием JQuery.ajax), которое возвращает JSON ot html. Некоторые из них должны быть доступны только авторизованным пользователям, и я украсил их атрибутом [Authorize]
. Для не ajax-действий, если пользователь не авторизован - система перенаправляет его на страницу входа (которая настроена в web.config).
Но это не применимо для действий ajax, потому что если пользователь был авторизован - он загружает страницу, после того, как cookie истекает, и он не авторизовался, а вместо html-блока, который должен заменить старый, он получает мою страницу входа в блок,
Я знаю, что я могу решить эту проблему вручную, например, удалить атрибут [Авторизовать] и вернуть специальный json/empty html, если пользователь не авторизован. Но мне не нравится это решение, потому что мне нужно переписать все мои действия и функции ajax. Я хочу глобальное решение, которое позволяет мне не переписывать мои действия (может быть настраиваемый атрибут авторизации или какая-то некорректная обработка неавторизованного результата).
Я хочу вернуть код состояния, если запрос является ajax и перенаправляется на страницу входа, если запрос не является ajax.