【问题标题】:Getting NTLM security token from IE从 IE 获取 NTLM 安全令牌
【发布时间】:2011-04-20 11:34:56
【问题描述】:

我有一个 ActiveX,它在客户端机器上部署一些应用程序并启动它。 在 IIS 上使用 NTLM 时,由 IE 完成对 Web 服务器的身份验证,下载文件没有问题(我使用的是 URL Monikers API),但是当 ActiveX 启动应用程序时(应用程序还需要访问服务器)需要重新认证。

我在问是否有办法避免第二次身份验证。

谢谢, 扎基

【问题讨论】:

  • /me 想到人们仍在浏览器中使用 ActiveX 控件,我不寒而栗。 (我知道这可能是您必须维护的旧版应用程序,但对我自己而言,我希望我再也不会看到另一个)

标签: internet-explorer ntlm http-authentication moniker


【解决方案1】:

WinINET 和 URLMon 都维护每个进程的凭据信息缓存;此信息不可用于其他进程。为了向其他进程提供凭据,您必须将它们从当前 IE 进程转移到其他进程。遗憾的是,该任务没有受支持的 API。

但是,通常情况下,使用 NTLM/Negotiate 的环境倾向于使用用户的默认凭据,如果设置了适当的标志,URLMon API 应该能够使用这些凭据。

【讨论】:

  • 感谢您的详细解答!还有一个问题,您知道如何访问每个进程的缓存吗?例如,我可以访问数据包标头并使用各种 win32 机制将数据传送到其他进程吗?
  • 抱歉,正如我所说,该任务没有受支持的 API。没有访问进程凭据缓存的 API。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-15
  • 1970-01-01
  • 1970-01-01
  • 2021-01-23
  • 1970-01-01
  • 2013-02-14
  • 1970-01-01
相关资源
最近更新 更多