Коротко:
В моей структуре есть подклассифицированный атрибут AuthorizeAttribute, в котором я делаю пользовательскую авторизацию.
Я нахожусь в процессе переключения с обычного рендеринга вида asp.net mvc на рендеринг Ajax через jQuery. Следовательно, каждая ссылка в приложении выполняет ajax-вызов для получения данных.
Для этого я преобразовал большинство своих страниц в частичные просмотры, чтобы каждый ajax-запрос получал только ту часть, которую необходимо обновить на странице.
Во время обычной визуализации представления, когда запрос был неавторизованным, он перенаправлялся на страницу входа, описанную в web.config. После конвертации в Ajax все немного по-другому, так как я не хочу, чтобы разметка для страницы входа в систему в запросе ajax, но мне нужен структурированный ответ, чтобы я мог действовать соответствующим образом внутри вызова ajax.
Для этого я считаю, что мне нужно переопределить метод HandleUnauthorizedRequest в подклассифицированном классе AuthorizeAttribute и установить для filterContext.Result результат json. Но при этом как бы я мог различить неавторизованный запрос и успешный запрос, потому что с точки зрения вызовов ajax оба являются успешными ответами; следовательно, будет обработан в обработчике успеха.
Как правильно решить эту проблему?