Frage

Ich möchte wissen, ob dies von Natur aus möglich ist:

Denken Sie an ein Cloud -Szenario. Ich erlaube Benutzern, ihren .NET -Code auf meinen Server hochzuladen. Um Dinge auf meinem Server zu verwalten, kann ich Benutzern nicht erlauben, Code zu schreiben, die direkte Anrufe bei Methoden wie httpwebrequest.create () tätigen.

Wenn der Benutzer einen solchen Code geschrieben hat, würde er bedeuten, dass er/sie versucht, einen anderen Webdienst zu kontaktieren (für EG). Mein Ziel ist es, diese Dienste über einen anderen Server bedient zu haben, aber dennoch arbeiten die Hauptserver an anderen eingehenden Anforderungen.

Ich möchte Anrufe an httpwebrequest.create () blockieren. Stattdessen werde ich dem Benutzer eine Schnittstelle zur Verfügung stellen, um solche Anrufe zu tätigen. Welche Art von Lösung kann ich für dieses Problem denken?

PS: Ich bin mehr von .NET 2.0 orientiert. Bitte seien Sie spezifisch, wenn Sie Angebote mit einer höheren Version beantworten

War es hilfreich?

Lösung

Schauen Sie sich die Sicherheit des Codezugriffs an (Sicherheithttp://msdn.microsoft.com/en-us/library/930b76w0(vs.71).aspx oder http://www.codeprroject.com/kb/security/ub_cas_net.aspx)

Sie können eine neue eingeschränkte Appdomain erstellen, in der Ihr Kundencode ausgeführt wird.

BEARBEITEN: Wenn Sie eine Art API bereitstellen möchten, die Methoden implementiert, die httpwebRequest benötigen, würde ich empfehlen, einen Dienst (mit allen Rechten) und Ihre API diesen Dienst zu erstellen. In diesem Service können Sie alle gewünschten Beschränkungen implementieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top