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

Это орехи.

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

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

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

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

Спасибо - РГ

Ответы [ 2 ]

3 голосов
/ 10 марта 2009

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

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

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

0 голосов
/ 14 января 2009

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...