CredentialCache.DefaultNetworkCredentials未返回当前登录的用户。 ExchangeService

时间:2015-10-22 17:04:19

标签: windows-authentication exchangewebservices credentials networkcredentials defaultnetworkcredentials

我尝试将当前登录的用户凭据传递给Exchange Web服务托管API。不试图检查它们或检查值,只需使用它们来进行呼叫即可。该应用程序正在使用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。

enter image description here

非常感谢任何帮助。

0 个答案:

没有答案