У меня есть веб-приложение, которое пытается использовать делегирование для получения файлов и отправки запросов на другие серверы.
У меня Kerberos полностью настроен и работает нормально (я думаю), но делегирование работает только в IE.
Код
System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext = ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();
// Do some stuff here
impersonationContext.Undo();
После этого я выполняю вход в олицетворенный раздел, который выглядит как
var identity = System.Security.Principal.WindowsIdentity.GetCurrent();
logger.Debug("ImpersonationLevel: {0}", identity.ImpersonationLevel);
Когда я запускаю сайт из IE, ImpersonationLevel = Delegation
и приложение может сделать двойной переход на второй сервер.
Когда я запускаю из Chrome или браузера MobileIron Web @ Work, я получаю ImpersonationLevel = Impersonation
, и двойной скачок не выполняется.
Часть MobileIron особенно важна, поэтому я пытаюсь выяснить, что-то с моей стороны, или клиент.