0

免责声明:我的 ASP.Net 技能有限

我有几个网站正在从我当前的主机转移到 Mosso 主机服务。当我尝试转移其中一个网站时,我收到错误“System.Security.SecurityException:该程序集不允许部分受信任的调用者。”,这似乎与 Mosso 在 ASP.Net 的 Medium Trust 上运行的事实有关应用程序,并且网站中的代码似乎需要完全信任。

不幸的是,我无法访问该应用程序的完整源代码,并且原始开发人员不可用。移植这些网站有什么简单的解决方法吗?我尝试在 web.config 中添加,但没有奏效。

我不认为要求 Mosso 调整安全级别是一种选择,因为当我问他们时他们拒绝了。

有人有什么想法吗?

4

3 回答 3

1

您的程序集是否命名为强?它是否调用强命名程序集?

您应该将“ AllowPartiallyTrustedCallers ”属性应用于程序集。有关此属性的更多信息,请参见此处

从文档:

默认情况下,未在程序集级别显式应用此属性以允许部分受信任的代码使用的强名称程序集只能由安全策略授予完全信任的其他程序集调用。此限制是通过在程序集中每个可公开访问的类的每个公共或受保护方法上放置 FullTrust 的 LinkDemand 来实施的。旨在由部分受信任的代码调用的程序集可以通过使用 AllowPartiallyTrustedCallersAttribute 来声明其意图。

有关详细信息,请参阅此MSDN 文章

编辑


一些信息证实了我怀疑 APTCA 属性是解决问题的可能方法:

https://support.isqsolutions.com/article.aspx?id=10334
http://bloggingabout.net/blogs/rick/archive/2006/04/07/11929.aspx

于 2009-04-28T06:18:59.447 回答
0

很抱歉,除非他们允许您设置信任级别,否则您可能会遇到大问题。你可以看看这里。 专业的 ASP.NET 2.0 安全性、成员资格和角色管理

几乎完全相同的事情发生在我身上,除了我的托管公司在我的一些网站在他们的服务器上运行了几年之后改变了他们的信任政策。最后我不得不放弃并转向DiscountASP,因为它们<trust level="Full" />在我的配置文件中被覆盖。

这是我最初的问题。 ASP.NET WebPermission 安全异常

祝你好运

于 2009-04-28T06:12:35.173 回答
0

我知道这是旧的,但我想我会添加一些可能会有所帮助的东西。Mosso 对 Medium trust 的更改也给我们带来了一些问题。

我们使用 BlogEngine.NET 并访问 MySQL 作为其后端。我们的 bin 目录中有 MySQL dll,这导致了中等信任问题。一旦 Mosso 将 MySQL dll 添加到 GAC,我们就可以成功使用它。

显然,我不知道您的具体细节以及您要做什么,但如果它与 MySQL 有关,请告诉我。

于 2009-06-15T22:11:10.900 回答