activex需要可信站点

时间:2009-12-29 20:17:14

标签: security internet-explorer activex

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

组件装饰如下:

[assembly: AllowPartiallyTrustedCallers] 

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

相关问题