1

我有一个 Web 应用程序正在尝试使用委托来检索文件并向其他服务器发出请求。

我已经设置好 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 部分特别重要,所以我试图弄清楚它是我的问题还是客户端的问题。

4

0 回答 0