параметр authType в CredentialCache.Add Метод - PullRequest
2 голосов
/ 06 июля 2010

Что такое тип authType в CredentialCache.Add Method?http://msdn.microsoft.com/en-us/library/czdw7s9e.aspx Я не понимаю, что я должен передать ему на основе uRi, который я передаю этому методу Add.и мой uRi на самом деле является адресом страницы asmx

Ответы [ 3 ]

3 голосов
/ 06 июля 2010

Существует две основные схемы аутентификации HTTP:

  • BASIC : имя пользователя и пароль добавляются открытым текстом в заголовки HTTP-запроса
  • DIGEST : сервер обрабатывает клиента одноразовым номером, а клиент отвечает хэшем ( digest ) одноразового номера и паролем, которые сервер может проверить

Параметры authType - это схема аутентификации HTTP, для которой учетные данные добавляются в кэш. При выполнении запроса сервер сначала ответит 403 и укажет поддерживаемую схему аутентификации, а также область и одноразовый номер (если требуется). Затем запрос будет использовать кэш учетных данных для ответа на запрос, если запрошенный тип аутентификации находится в кеше (базовый или дайджест). Последующие вызовы после первого вызова могут предварительно отправить информацию об аутентификации, если установлен PreAuthenticate .

2 голосов
/ 30 марта 2017

Я посмотрел на прочую перегрузку метода CredentialCache.Add ():

CredentialCache.Add(String host, Int32 port, String authenticationType, NetworkCredential credential)

Определение можно найти здесь: https://msdn.microsoft.com/en-us/library/59x2s2s6(v=vs.110).aspx
Вот онивызвать строку « authenticationType » (вместо «authType») и указать:

Поддерживаемые значения для authType : « NTLM"," Дайджест"," Kerberos"и" Переговоры".

Я нахожу это запутанным, потому что" authType"и" authenticationType", по-видимому, используются взаимозаменяемо.

Он работал для моего URL, когда я использовал" NTLM"и" Переговоры"для" authType"в Перегрузке метода, на которую вы ссылаетесь в своем Вопросе:

CredentialCache.Add(Uri uriPrefix, String authType, NetworkCredential cred)
1 голос
/ 06 июля 2010

Кажется, что authType относится к тому, как предоставленные вами учетные данные (имя пользователя и пароль) отправляются с веб-запросом http. Грубо говоря, означает незашифрованный, а дайджест означает, что вы отправляете хеш вместе с запросом на его аутентификацию. Обратите внимание, что этот тип аутентификации определяется сервером, и у вас нет выбора, какой из них следовать.
См. Базовая аутентификация и Дайджест-аутентификация

...