CredentialCache.DefaultNetworkCredentials не возвращает текущего зарегистрированного пользователя. ExchangeService

Я пытаюсь передать учетные данные пользователя, вошедшего в систему, в управляемый API-интерфейс веб-служб Exchange. Не пытаясь проверить их или проверить значения, просто используйте их, чтобы сделать вызов. Приложение использует проверку подлинности Windows, и текущая идентификация Windows соответствует ожидаемой.

WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent(); //returns DOMAIN\useraccount

Однако CredentialCache.DefaultNetworkCredentials возвращает учетные данные пула приложений.

exchangeservice.Credentials = CredentialCache.DefaultNetworkCredentials;
\\Passes the application pool credentials.

Я пытался выдать себя за другого, хотя я не уверен, что делаю это правильно.

using (WindowsImpersonationContext context = identity.Impersonate())
{
    exchangeservice.Credentials = CredentialCache.DefaultNetworkCredentials; 
    \\Passes the application pool credentials.
}

Наборы web.config <authentication mode="Windows" /> и IIS также устанавливает проверку подлинности Windows. Для загрузки профиля пользователя установлено значение false в пуле приложений.

введите описание изображения здесь

Любая помощь будет принята с благодарностью.

0 ответов