luk*_*fer 8 c# asp.net full-trust appdomain partial-trust
我有两个Web应用程序(预编译站点),一个是第一方,将以完全信任的方式运行.另一个是第三方,应该部分信任(或具有特定权限).
TrustedAssembly.Web.Pages.MyPage
应该在完全信任默认的AppDomain中运行.
UntrustedAssembly.Web.Pages.SomePage
应该在部分信任AppDomain中运行.
此外,如果TrustedAssembly.Web.Pages.MyPage
动态加载UntrustedAssembly.Web.Controls.SomeControl
可以在部分信任和/或具有特定权限的情况下运行控件,而页面在完全信任下运行?
反之亦然,例如UntrustedAssembly.Web.Controls.SomePage
动态加载TrustedAssembly.Web.Controls.MyControl
,当页面在部分信任下运行时,是否可以完全信任地运行控件?
更新/仅供参考:这是.NET 4
这样做可能有点棘手.以下是两种可能的思路:
第一种是在中型信任中运行应用程序,但是要将您想要运行的任何内容完全置于GAC中,以及您希望在bin中部分信任的内容中运行.
请注意,在"反之亦然"方案中,受信任控件可能需要在能够执行完全信任操作之前执行安全性"断言".例如
(new SecurityPermission(SecurityPermissionFlag.UnmanagedCode)).Assert();
Run Code Online (Sandbox Code Playgroud)
第二种思路是以完全信任的方式运行应用程序,但随后使用自定义Evidence加载要在Medium信任中运行的任何程序集.例如
var evidence = new Evidence();
// Initialize the Evidence
Assembly.LoadFrom(path, evidence);
Run Code Online (Sandbox Code Playgroud)
但请注意,正确设置Evidence对象不适合胆小的人,而且我不确定我会不会那样做.
不是一个完整的答案,但希望有一些想法可以导致一个:)
归档时间: |
|
查看次数: |
566 次 |
最近记录: |