首页 文章

activex需要可信站点

提问于
浏览
1

我们的Web应用程序有一个在IE中运行的activex dll . 它具有强名称和基于该强名称的自定义权限集 .

程序集装饰如下:

[assembly: AllowPartiallyTrustedCallers]

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

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

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

在IE8中,安全区域都设置为其默认设置 . 此外,当我将Internet区域中“ActiveX控件和插件”的安全设置更改为与“受信任的站点区域”中的安全设置相同时,该控件也不起作用 . 还有其他我需要做的事情,通过caspol或IE设置,以允许它在互联网区域运行?

2 回答

  • 2

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

    或者你直接在IE中使用它?在没有注册但是在classid属性中传递dll路径时?如果是这样,那么生活就更难了 . IE8不再加载Internet区域中的dotnet控件,并且没有用户界面来启用它(从我记忆中看,虽然看一下安全编辑器) . 您可以通过将Internet区域的URLACTION_DOTNET_USERCONTROLS的URL Action设置为启用来在注册表中更改它 .

  • 0

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

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

相关问题