我需要允许我的用户在我的服务器上执行他们提供的的.NET代码。我知道安全性是一个大问题,但必须以这种方式完成。
目前,我管理我的用户'有限的Windows帐户下的代码。但是,我担心.NET框架提供了许多类,如果恶意使用它们会损害服务器 - 在Reflection命名空间下的类就是一个例子,CodeDom是另一个问题。
我希望有一种方法可以创建一个轻量级的虚拟环境"可以运行.NET代码,但完全隔离。有点像Virtual PC,但更轻量级 - 唯一的功能是用户可以进行计算,并可能调用第三方Web服务。
市场上是否存在为.NET应用程序提供隔离环境的东西?
感谢。
答案 0 :(得分:1)
.NET内置了security features来完成您想要做的事情。在不知道他们的.NET应用程序是如何启动的情况下,我无法确定它是否会对您有所帮助,但如果您控制应用程序的启动,您可以apply a security context to their AppDomain and restrict what they can access。根据您在原始帖子中所说的内容,如果您阻止了除WebPermission以外的所有内容(并且您甚至可以将其限制为specific addresses),那么在您的系统上运行应该是安全的。