如何在多租户主机中的自己的应用程序域中托管可能的恶意代码?

时间:2014-03-02 15:26:16

标签: c# .net silverlight appdomain multi-tenant

我需要允许用户在多租户环境中上传和运行.NET脚本。许多用户将同时运行脚本(在某些方面会限制CPU周期)。

我已阅读此MSDN文章explains clearly如何加载此类程序集,但缺少与我的方案相关的安全性详细信息。

我遇到的一些问题是:

  • 每个托管应用都应该有一个单独的ApplicationBase
  • 每个托管应用都应该有一个单独的ConfigurationFile
  • 适合的配置文件设置
  • 我可以模拟完全隔离的程序集的Silverlight“沙盒”模式吗
  • ...? (防止或控制网络IO访问)

1 个答案:

答案 0 :(得分:0)

您是否尝试过阅读文档?虽然这可能会以某种方式隐藏起来,但互联网上的内容并不多,但这些内容已有很好的记录。您正在寻找代码访问安全性。

一个好的开始是:

http://msdn.microsoft.com/en-us/library/dd233103(v=vs.110).aspx

标题为“.NET Framework中的安全性更改”(不,我不会在这里引用)。你会寻找像“代码访问安全性”这样的东西来创建一个sanbox风格的环境。这是可能的,但是像所有安全性一样,这是非常重要的,因为如果你忽略了一件事,那么沙箱是开放的。期待在这些东西上花费大量时间 - 或者在你根本不知道的情况下打开一些安全的假象。