我有一个c#评估器,它使用(我认为).Net 4新的简化沙盒appdomain模型来托管c#程序集,其余部分使用远程处理。创建appdomain的调用是
Evidence ev = new Evidence();
ev.AddHostEvidence(new Zone(SecurityZone.Trusted));
PermissionSet pset = SecurityManager.GetStandardSandbox(ev);
AppDomainSetup ads = new AppDomainSetup();
ads.ApplicationBase = "C:\\Sandbox";
// Create the sandboxed domain.
AppDomain sandbox = AppDomain.CreateDomain(
"Sandboxed Domain",
ev,
ads,
pset,
null);
c#eval嵌入在服务器应用程序中,但我不想让沙箱得到很多控制,除非它是调用者。我正在寻找的是关于如何提供来自呼叫者的证据的澄清。我正在寻求建议和指导。
任何帮助将不胜感激。
答案 0 :(得分:3)
您可以使用“互联网”权限集或“执行”权限集,两者都具有有限的权限,因为它们被视为不安全。