Олицетворение и NetworkCredential
Мне нужно пройтиNetworkCredential
объект с учетными данными пользователя, выдавшего себя в данный момент, для веб-службы из приложения asp.net.
Мой код выглядит так:
WindowsIdentity windowsIdentity = HttpContext.Current.User.Identity as WindowsIdentity;
WindowsImpersonationContext context = windowsIdentity.Impersonate();
try {
var client = GetClient();
client.ClientCredentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
Log("WindowsIdentity = {0}", windowsIdentity.Name);
Log("DefaultNetworkCredentials = {0}", CredentialCache.DefaultNetworkCredentials.UserName);
client.DoSomething();
} finally {
context.Undo();
}
Я поняла чтоCredentialCache.DefaultNetworkCredentials
должен предоставить учетные данные пользователя, выдавшего себя в настоящее время, но это не так.
Сообщения журнала, которые я получаю,
WindowsIdentity = TESTDOMAIN\TESTUSER
DefaultNetworkCredentials =
Я делаю что-то неправильно? Если да, то как вы получаете объект NetworkCredential для пользователя, выдавшего себя в данный момент?