2010-05-10 6 views
10

ich einen C# Auswerter haben, die verwendet die (glaube ich) das .Net 4 neue vereinfachte Sandbox Appdomain Modell der C# Versammlung zu bewirten, mit Remoting den Rest tun. Der Aufruf der Appdomain zu erstellen istBester Beweis eine Sandbox Appdomain für eine C# Evaluator zu bieten

 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); 

Die C# eval in einer Server-Anwendung eingebettet ist, aber ich will nicht die Sandbox zu viel Kontrolle geben, es sei denn es bo bo der Anrufer ist. Nach was ich suche, ist hinsichtlich etwas Klärung betreffs, was als Beweis vom Anrufer zur Verfügung gestellt wird. Ich suche Rat und Anleitung.

Jede Hilfe wäre willkommen.

+2

„zu viel Kontrolle, es sei denn es bo bo ist der Anrufer“ - Was? –

+0

Abdecker der Anrufer –

+0

Niemand mit Sandkasten AppDomains? –

Antwort

3

Sie können entweder den Berechtigungssatz "Internet" oder den Berechtigungssatz "Ausführung" verwenden, beide haben eingeschränkte Berechtigungen, da sie als unsicher gelten.

+0

Dank Adam, scheint, dass wir die einzigen zwei Menschen mit dieser Methode sind. –

+0

Ich verwende es nicht, aber es war in einem der MCTS Prüfungen abgedeckt - 70-536 glaube ich. Froh, dass es für jemanden nützlich war! –