2009-07-06 9 views
0

Ich schreibe eine .net Win-App, die fremde Assemblys lädt und Skripts von Drittanbietern ausführt. Ich suche nach einer Möglichkeit, den Code, der von dem fremden Skript ausgeführt wird, zu bereinigen, und nur den Drittanbieterskripten Zugriff auf eine definierte Gruppe von Websites zu gewähren. Das Erstellen eines PermissionSet mit dem Status none und das Hinzufügen der gewünschten Websites sowie die Auswahl von "Permit only" scheint den gewünschten Erfolg zu bringen, wenn der Code des Drittanbieters nicht vollständig vertrauenswürdig ist. Setzen Sie dies mit Assert zurück. Dennoch möchte ich, dass der Teil des Codes, den ich selbst kontrolliere, vollständig vertrauenswürdig ist, also suche ich nach einer Möglichkeit, die Vertrauensstufe für einen bestimmten Thread oder an einem bestimmten Punkt im Stapel programmgesteuert einzuschränken.Einen bestimmten Thread isolieren, um ihn in mittlerer Vertrauenswürdigkeit auszuführen

Jede Hilfe würde sehr geschätzt werden.

+1

Wenn Sie Code von Drittanbietern ausführen, der vollständig vertrauenswürdig und feindselig ist, sind Sie in großen Schwierigkeiten, egal was Sie tun. Statt zu versuchen, das Unmögliche zu erreichen, indem Sie vollständig vertrauenswürdigen Code stückweise einschränken, geben Sie einfach nicht vertrauenswürdigem Code das volle Vertrauen. –

+0

Dem stimme ich zu, deshalb suchte ich nach einer Möglichkeit, mittleres Vertrauen in einen isolierten Thread zu implementieren, aber bisher ohne Erfolg. erfahren Sie mehr über die Appdomain-Alternative von Reed. –

Antwort

3

Sie können dies nicht auf einer Thread-Ebene tun.

Die geeignete Möglichkeit, unterschiedliche Vertrauensstellungen in einer einzigen Anwendung zu haben, besteht darin, für die Skripts von Drittanbietern, unter denen sie ausgeführt werden, eine separate AppDomain zu erstellen.

Chris Brumme schrieb eine good blog post regarding AppDomains für einige Hintergrund lesen.

+0

sieht aus, als hätte ich viel zu lesen. Danke, dass Sie mich in die richtige Richtung weisen. –

Verwandte Themen