【问题标题】:Security Level for WebBrowser controlWebBrowser 控件的安全级别
【发布时间】:2010-04-05 07:41:17
【问题描述】:

我正在尝试将 .hta 应用程序迁移到 C# 可执行文件。当然,因为它是一个 .hta,所以代码都是 HTMLJscript,并调用了本地 ActiveX 对象.

我创建了一个 C# 可执行项目,我只是使用 WebBrowser 控件来显示 HTML 内容。只需将 .hta 重命名为 .html 并取出 HTA 声明。

一切都很好,除了当我调用 ActiveX 对象时,我会收到在页面上运行 ActiveX 控件的安全弹出警告。

我理解为什么会发生这种情况,因为 WebBrowser 控件本质上是 IE 并使用 Internet 选项安全设置,但是有没有办法让 WebBrowser 控件绕过安全弹出窗口,或者将可执行文件或 DLL 注册为无需更改 Internet 选项中的设置即可信任?甚至在部署包上执行的方法也可以。

【问题讨论】:

    标签: c# activex webbrowser-control hta


    【解决方案1】:

    WebBrowser 是 Internet Explorer 的一个实例,并从 IE 继承安全设置。

    一种方法是更改​​ IE 中定义的安全设置。

    另一种方法是通过实现IInternetSecurityManager 接口来添加Custom Security Manager

    WebBrowser 控件或 MSHTML 主机可以创建一个安全管理器(通过实现 IInternetSecurityManager 接口)来处理对主机很重要的 URL 操作和策略。其他 URL 操作和策略将传递给默认安全管理器,以便它可以适当地处理它们。 IInternetSecurityMgrSite 接口将用于处理来自组件的与 Windows 相关的信息,以便定制的安全管理器可以处理它所需的任何用户界面。 -

    【讨论】:

    • 感谢 KMan,自定义安全管理器可能正是我所需要的。我将不得不进一步研究,但感谢您的建议。
    • 该链接很好,但它并没有真正告诉我如何在 C# 中访问 IInternetSecurityManager。能不能说的详细一点?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 2019-04-20
    • 2011-08-27
    • 1970-01-01
    相关资源
    最近更新 更多