2009-02-24 5 views
0

Всякий раз, когда веб-запрос выполняется Visual Studio в TFS, Fiddler будет показывать ошибку 401 Unauthorized. Visual Studio затем повторит попытку с надлежащим заголовком заголовка авторизации, с которым TFS ответит надлежащими данными и кодом состояния 200.Как остановить 401 ответ от TFS 2008

Как я могу получить правильные заголовки для отправки в первый раз, чтобы остановить 401?

ответ

5

Как работает процесс Windows Integrated Authentication (NTLM). NTLM является механизмом аутентификации на основе соединения и фактически включает 3 вызова для установления аутентифицированного сеанса.

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

В принципе, я бы просто оставил его в покое, так как он хорошо работает.

0

Вы увидите, что веб-браузер также делает это при общении с веб-сайтом. Он всегда будет пытаться отдать минимальное количество деталей при первом вызове. Если это не удастся, это покажет вам немного больше о вас.

Это по дизайну и по очень веской причине.

0

Вот как это делается всегда - запросите, верните 401 назад, затем отправьте авторизацию. Это часть протокола аутентификации для http.