При использовании установленных вручную учетных данных EWS автообнаружение перестает работать
Я сталкиваюсь с очень странной проблемой, и я убежден, что это просто глупость, которую я упускаю из виду. Используя управляемый API EWS, я пытаюсь подключиться к почтовому ящику, чтобы прочитать контакты. Первоначально я использовал учетные данные по умолчанию, и в этом случае автоматическое обнаружение работало. Проблема в том, что позже мы хотим запустить это на сервере и выдать себя за пользователя, поэтому я изменил его, указав учетные данные вручную. Это сломалось, даже когда я использовал свои учетные данные.
Как пример, это сработало:
service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.AutodiscoverUrl("user@example.com", redirect => true);
Это не
service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
service.UseDefaultCredentials = false;
service.Credentials = new NetworkCredential("user", "pass", "EXAMPLE_DOMAIN");
service.AutodiscoverUrl("user@example.com", redirect => true);
Указанные сетевые учетные данные должны быть точно такими же, как учетные данные по умолчанию, но при включении трассировки я получаю ответ "401 Несанкционированный" во втором случае, поэтому он не действует так, как если бы он был таким же.
Что мне не хватает?
1 ответ
Хорошо, кажется, вам нужно использовать WebCredential("user", "pass", "EXAMPLE_DOMAIN")
, Я не совсем уверен, почему WebCredentials
работать, но NetworkCredentials
не.