Как мне остановить 401 ответ от TFS 2008 - PullRequest
0 голосов
/ 24 февраля 2009

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

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

Ответы [ 3 ]

5 голосов
/ 24 февраля 2009

Так работает процесс встроенной аутентификации Windows (NTLM). NTLM - это механизм аутентификации на основе соединений, который включает в себя 3 вызова для установления аутентифицированного сеанса.

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

По сути, я бы просто оставил это в покое, так как оно хорошо работает.

0 голосов
/ 19 апреля 2011

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

0 голосов
/ 24 февраля 2009

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

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

...