401 Возвращается для каждого 5-го вызова в приложении ASP.NET MVC, которое возвращает JSON

StackOverflow https://stackoverflow.com/questions/441294

Вопрос

Это чокнутый.

У меня есть приложение ASP.NET MVC, использующее аутентификацию Windows, которое, помимо прочего, взаимодействует с рядом компонентов ExtJs Javascript, возвращая им данные JSON.

Проблема в том, что даже после успешной аутентификации пользователя каждый 5-й запрос на получение некоторых данных JSON из MVC приводит к ДВУМАНИЮ "401 Несанкционировано". ответы, за которыми следует «200 OK»; ответ. Опять же, это происходит каждый 5-й звонок ... почему? Понятия не имею.

Интересно, что каждый ответ содержит ожидаемый JSON !!!

Кто-нибудь еще испытывает такое поведение или есть идеи о том, почему это происходит?

Спасибо - РГ

Это было полезно?

Решение

Похоже, именно так работает аутентификация Windows:

Как остановить 401 ответ от TFS 2008

У меня была такая же проблема с приложением ASP.NET MVC, работающим на IIS 6, но с использованием проверки подлинности с помощью форм. Это сводило меня с ума, пока я не понял, что наш сервер настроен для аутентификации через NTLM для каждого запроса, так как это внутренний сервер интрасети. Так что это действительно не проблема, так как запрос обрабатывается нормально после ответа 200, и, похоже, совсем не сокращает время загрузки.

Другие советы

Однажды это случилось со мной, и в моем случае это произошло из-за того, что у меня была виртуальная веб-папка, использующая два разных метода аутентификации: аутентификация Windows и обычная аутентификация.

Время от времени IIS будет пытаться аутентифицировать пользователя с использованием аутентификации Windows вместо базовой HTTP-аутентификации, которую я имел в виду (это наиболее часто происходило в Internet Explorer), и возвращать " Неавторизованный " Ответ.

Попробуйте отключить методы аутентификации, которые вы не используете, и посмотрите, что произойдет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top