从 IE 获取 NTLM 安全令牌
我有一个 ActiveX,它在客户端计算机上部署一些应用程序并启动它。 在 IIS 上使用 NTLM 时,Web 服务器的身份验证由 IE 完成,下载文件没有问题(我使用 URL Monikers API),但是当 ActiveX 启动应用程序时(应用程序还需要访问服务器)需要重新进行认证。
我想问一下有没有办法避免二次验证。
谢谢, 扎基
I have an ActiveX that deploys some application on the client machine and starts it.
When using NTLM on the IIS, the authentication with the web server done by IE and there is no problem to download files (I'm using URL Monikers API) but when an ActiveX starts the application (application also needs an access to the server) there is a need to do the authentication again.
I'm asking if there is a way to avoid second time authentication.
Thanks,
Zaky
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
WinINET 和 URLMon 都维护每个进程的凭据信息缓存;此信息不可用于其他进程。为了向其他进程提供凭据,您必须将它们从当前 IE 进程传输到其他进程。不幸的是,没有支持该任务的 API。
然而,通常情况下,使用 NTLM/Negotiate 的环境倾向于使用用户的默认凭据,如果设置了适当的标志,URLMon API 应该能够使用该凭据。
Both WinINET and URLMon maintain per-process caches of credential information; this information is not available to other processes. In order to provide the credentials to the other process, you would have to transfer them from the current IE process to the other process. Unfortunately, there are no supported APIs for that task.
Typically, however, environments that use NTLM/Negotiate tend to use the user's default credentials, which the URLMon APIs should be able to use if the appropriate flags are set.