.NET Applikationen über das Netzwerk starten

Den größten Teil meiner Arbeit beschäftige ich mich mit der Interoperabilität von .NET-Anwendungen mit unmanaged C++-Code (no COM). Dabei kommt es immer häufiger vor, dass Anwendungen vom Netz gestartet werden sollen.

Die CAS (Code Access Security) verhindert dies, indem sie der Anwendung die Rechte für LocalIntranet-Zone zuweist. Wenn man trotzdem die Anwendung vom Netzlaufwerk aus starten möchte, muss man die CAS bemühen, der zu startenden Applikation volle Rechte zu geben (oder zumindest die benötigten Permissions).

Dies geschiet mithilfe des Tools caspol.exe, welches bei jedem .NET Framework mitgeliefert wird. Es befindet sich im Standard-Installationsverzeichnis der jeweiligen .NET Framework-Version:

{Windows-Verzeichnis}Microsoft.NET{.NET-Version}caspol.exe

Nun legen wir eine neue Codegruppe namens „FullTrustFromNetworkShare“ an:

caspol -machine -addgroup All_Code -url \serverpath* FullTrust -n FullTrustFromNetworkShare

In der grafischen .NET Framework 2.0 Configuration sieht das nun wiefolgt aus:

dotnet_20_config_caspol.png

Natürlich sollte man bei solchen Aktionen bedenken, dass man die Code-Zugriffssicherheit für das Verzeichnis quasi aushebelt und Schädlingen, die über das Verzeichnis gestartet werden, alle Rechte gibt 😐

Mehr Infos dazu gibts auf der MSDN-Seite zum CASPOL-Utility:  http://msdn.microsoft.com/library/DEU/cptools/html/cpgrfCodeAccessSecurityPolicyUtilityCaspolexe.asp

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert