【问题标题】:trusted site required with activexactivex 所需的受信任站点
【发布时间】:2009-12-30 04:58:48
【问题描述】:

我们的网络应用程序有一个在 IE 中运行的 activex dll。它被赋予一个强名称和一个基于该强名称的自定义权限集。

程序集是这样装饰的:

[assembly: AllowPartiallyTrustedCallers] 

并且activex控件的类需要在浏览器中运行:

[PrintingPermission(SecurityAction.Assert, Unrestricted = true)]

当我在 Trusted_Zone 下添加我们的自定义代码组并将站点添加到受信任站点时,一切正常。但是,当我在 Internet_Zone 下添加代码组时,activex 控件并从受信任的站点中删除域时,activex 控件将无法运行。

在 IE8 中,安全区域都设置为默认设置。此外,当我将 Internet 区域中“ActiveX 控件和插件”的安全设置更改为与受信任站点区域中的相同时,该控件不起作用。我还需要做些什么,通过 caspol 或 IE 设置来允许它在 Internet 区域中运行?

【问题讨论】:

    标签: security internet-explorer activex


    【解决方案1】:

    您是否在 COM 注册(或实现了 IObjectSafety)上添加了脚本安全和初始化安全类别。如果您不这样做,那么 IE 将根本不信任您的控制并拒绝创建它。请参阅 this 之类的内容,了解有关将正确密钥放入注册表的信息。

    还是直接在IE中使用?就像不注册它但在classid属性中传递dll路径一样?如果是这样,那生活就更难了。 IE8 不再在 Internet 区域中加载 dotnet 控件,并且没有用户界面可以启用它(据我记得,尽管在安全编辑器中查看)。您可以通过将 Internet 区域的 URLACTION_DOTNET_USERCONTROLS 的 URL Action 设置为启用来更改它。

    【讨论】:

    • 我是直接在IE中使用的。更改注册表项确实会改变 Internet 区域中的行为。
    • 这意味着您没有使用“ActiveX”控件,而是使用了 UserControl。出于安全原因,用户控件在 Internet 区域中被阻止:blogs.msdn.com/ieinternals/archive/2009/10/09/…
    【解决方案2】:

    您的 ActiveX 控件是否已签名?我认为这是在不受信任的网站上运行所必需的。

    http://msdn.microsoft.com/en-us/library/aa231196%28VS.60%29.aspx

    【讨论】:

      猜你喜欢
      • 2020-07-03
      • 2011-04-05
      • 1970-01-01
      • 2018-12-22
      • 2021-02-07
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      相关资源
      最近更新 更多